:root {
  --bg: #f8fafc;
  --surface: #ffffff;
  --surface-soft: #eef6fb;
  --ink: #111827;
  --muted: #64748b;
  --line: #e2e8f0;
  --navy: #0f172a;
  --blue: #2563eb;
  --cyan: #06b6d4;
  --green: #22c55e;
  --red: #ef4444;
  --orange: #f97316;
  --shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
  --radius: 8px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  direction: rtl;
  font-family: Heebo, Assistant, Arial, sans-serif;
}

button, input, select, textarea { font: inherit; }

button, .button {
  border: 0;
  border-radius: var(--radius);
  color: #fff;
  padding: 11px 16px;
  min-height: 44px;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

button:hover, .button:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(37, 99, 235, 0.16); }
button:disabled { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.primary { background: var(--blue); }
.secondary { background: #eaf1ff; color: #1e3a8a; }
.ghost { background: transparent; color: var(--navy); border: 1px solid var(--line); }
.warn { background: var(--orange); }
.success { background: var(--green); }
.icon-btn {
  width: 44px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  background: var(--navy);
}
.icon-btn .material-symbols-outlined {
  color: #fff;
  font-size: 26px;
  line-height: 1;
}

input, select, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  color: var(--ink);
  padding: 12px 13px;
  outline: none;
  transition: border 160ms ease, box-shadow 160ms ease;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--cyan);
  box-shadow: 0 0 0 4px rgba(6, 182, 212, .12);
}

textarea { min-height: 104px; resize: vertical; }
label { display: grid; gap: 7px; color: #334155; font-size: 14px; font-weight: 500; }
h1, h2, h3, p { margin-top: 0; }
button:focus-visible,
.button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(6, 182, 212, .45);
  outline-offset: 3px;
}

.hidden { display: none !important; }
.muted { color: var(--muted); }
.small, small { font-size: 13px; }
.title { margin: 0; font-size: 24px; line-height: 1.2; }
.title.xl { font-size: clamp(28px, 4vw, 40px); }
.stack { display: grid; gap: 14px; }
.mobile-only { display: none; }

.panel, .auth-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 22px;
}

.login {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 20px;
  background:
    radial-gradient(circle at top right, rgba(6, 182, 212, .13), transparent 34%),
    linear-gradient(135deg, #f8fafc, #eef6ff);
}

.auth-card { width: min(430px, 100%); }
.auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #f8fafc;
}
.auth-tab {
  min-height: 40px;
  padding: 8px 12px;
  background: transparent;
  color: var(--muted);
  box-shadow: none;
}
.auth-tab:hover {
  transform: none;
  box-shadow: none;
}
.auth-tab.active {
  background: var(--blue);
  color: #fff;
}
.auth-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 13px;
}
.auth-divider::before,
.auth-divider::after {
  content: "";
  height: 1px;
  background: var(--line);
}
.google-auth {
  min-height: 44px;
  display: grid;
  justify-items: center;
}
.brand-mark {
  width: 48px;
  height: 48px;
  border-radius: var(--radius);
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--blue), var(--cyan));
  color: #fff;
  font-weight: 800;
}
.app-logo {
  display: block;
  object-fit: contain;
}
.auth-logo {
  width: 110px;
  max-width: 45%;
  justify-self: center;
}
.small-logo {
  width: 48px;
  height: 48px;
}
.header-logo {
  width: 76px;
  height: 76px;
  display: inline-block;
  vertical-align: middle;
  padding: 7px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(37, 99, 235, .18);
}
.empty-logo {
  width: min(260px, 72vw);
  max-height: 180px;
  margin: 0 auto;
}

.admin-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 270px 1fr;
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  background: var(--navy);
  color: #fff;
  padding: 22px;
  display: grid;
  align-content: start;
  gap: 28px;
}

.side-brand { display: flex; align-items: center; gap: 12px; }
.side-brand span { display: block; color: #94a3b8; font-size: 13px; }
.side-nav { display: grid; gap: 7px; }
.side-create-btn {
  width: 100%;
}
.side-launch-btn {
  width: 100%;
  margin-bottom: 10px;
  background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
  color: #fff;
  box-shadow: 0 14px 28px rgba(220, 38, 38, .24);
}
.mobile-sidebar-logout {
  display: none;
}
.nav-link {
  color: #cbd5e1;
  text-decoration: none;
  padding: 12px 14px;
  border-radius: var(--radius);
  transition: background 160ms ease, color 160ms ease;
}
.nav-link:hover, .nav-link.active { background: rgba(255,255,255,.10); color: #fff; }

#liveAdminNavLink,
#screenLink {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid transparent;
  box-shadow: 0 10px 24px rgba(6, 182, 212, .10);
}

#liveAdminNavLink {
  background: rgba(255,255,255,.07);
  color: #f8fafc;
}

#screenLink {
  background: #ffffff;
  color: #1e3a8a;
}

#liveAdminNavLink::before,
#screenLink::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  padding: 1px;
  border-radius: inherit;
  background: conic-gradient(
    from var(--flow-angle, 0deg),
    rgba(6, 182, 212, .15),
    rgba(37, 99, 235, .95),
    rgba(34, 197, 94, .85),
    rgba(249, 115, 22, .9),
    rgba(6, 182, 212, .15)
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation: borderFlow 3.8s linear infinite;
}

#liveAdminNavLink::after,
#screenLink::after {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -2;
  border-radius: calc(var(--radius) - 1px);
  background: inherit;
}

#liveAdminNavLink:hover,
#liveAdminNavLink.active {
  background: rgba(255,255,255,.12);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(6, 182, 212, .10), 0 12px 28px rgba(6, 182, 212, .18);
}

#screenLink:hover {
  background: #f8fbff;
  color: #0f172a;
  box-shadow: 0 0 0 4px rgba(6, 182, 212, .10), 0 12px 28px rgba(37, 99, 235, .18);
}

@property --flow-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

@keyframes borderFlow {
  to { --flow-angle: 360deg; }
}

@media (prefers-reduced-motion: reduce) {
  #liveAdminNavLink::before,
  #screenLink::before {
    animation: none;
  }
}

.admin-main { min-width: 0; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
  padding: 14px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.brand {
  min-width: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top-actions, .action-row, .section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.top-actions-main {
  order: -1;
  justify-content: flex-start;
}
.section-head.compact { align-items: flex-start; }

.content {
  width: min(1320px, 100%);
  margin: 0 auto;
  padding: 26px;
  display: grid;
  gap: 22px;
}
.create-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 23, 42, .42);
  backdrop-filter: blur(8px);
}
.modal-panel {
  width: min(940px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
}
.empty-admin,
.empty-games {
  min-height: 300px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 22px;
  padding: 36px;
  border-radius: var(--radius);
  background: #fff;
}
.empty-games {
  min-height: 260px;
  border: 1px dashed #cbd5e1;
}
.admin-shell.no-games #dashboard .stat-grid,
.admin-shell.no-games #activities,
.admin-shell.no-games #questions,
.admin-shell.no-games #reports,
.admin-shell.no-games #settings {
  display: none;
}
.section { scroll-margin-top: 86px; }
.two-col { display: grid; grid-template-columns: 360px 1fr; gap: 22px; }
.questions-workspace {
  display: grid;
  gap: 18px;
}
.package-countdown {
  min-width: 0;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #bfdbfe;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #eff6ff, #ecfeff);
  color: #1e3a8a;
}
.package-countdown span,
.package-countdown small {
  color: #475569;
  font-weight: 700;
}
.package-countdown strong {
  color: #0f172a;
  font-size: clamp(20px, 3vw, 30px);
  direction: ltr;
  white-space: nowrap;
}
.package-countdown.expired {
  border-color: #fed7aa;
  background: #fff7ed;
}
.section-kicker {
  display: inline-flex;
  margin-bottom: 8px;
  color: #0369a1;
  font-size: 13px;
  font-weight: 900;
}
.editor-grid { display: grid; grid-template-columns: 380px 1fr; gap: 22px; align-items: start; }
.questions-list-panel,
.question-builder-panel {
  padding: 20px;
}
.questions-list-panel {
  position: sticky;
  top: 94px;
  max-height: calc(100vh - 118px);
  overflow: auto;
}
.questions-list-panel::-webkit-scrollbar {
  width: 8px;
}
.questions-list-panel::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #cbd5e1;
}

.admin-contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.contact-action-card {
  min-width: 0;
  min-height: 150px;
  padding: 18px;
  display: grid;
  align-content: start;
  gap: 9px;
  border: 1px solid rgba(37, 99, 235, .14);
  border-radius: 8px;
  color: var(--ink);
  background: linear-gradient(180deg, #fff, #f8fafc);
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.contact-action-card:hover {
  transform: translateY(-2px);
  border-color: rgba(20, 184, 166, .34);
  box-shadow: 0 18px 38px rgba(15, 23, 42, .1);
}

.contact-action-card .material-symbols-outlined {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #0f766e;
  background: #ecfeff;
  font-size: 25px;
}

.contact-action-card strong {
  font-size: 20px;
}

.contact-action-card small {
  min-width: 0;
  color: #64748b;
  overflow-wrap: anywhere;
}
.phone-admin-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(37, 99, 235, .14);
  border-radius: 8px;
  background: linear-gradient(135deg, #f8fbff, #ecfeff);
}
.phone-admin-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 22px;
}
.phone-admin-card p {
  margin: 4px 0 0;
  color: #64748b;
  font-weight: 700;
}
.phone-admin-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.phone-admin-grid div {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(14, 165, 233, .18);
  border-radius: 8px;
  background: #fff;
}
.phone-admin-grid span,
.phone-player-list small {
  display: block;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}
.phone-admin-grid strong {
  display: block;
  margin-top: 5px;
  color: #0f172a;
  font-size: 18px;
  direction: ltr;
  overflow-wrap: anywhere;
}
.phone-player-list {
  display: grid;
  gap: 8px;
}
.phone-player-list .phone-player-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(255,255,255,.76);
}
.phone-player-list strong {
  color: #0f172a;
}
.phone-test-panel {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px dashed rgba(14, 165, 233, .35);
  border-radius: 8px;
  background: rgba(255,255,255,.7);
}
.phone-test-panel strong {
  color: #0f172a;
}
.phone-test-panel small {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-weight: 800;
}
.phone-test-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 8px;
}
.phone-test-actions label {
  display: grid;
  gap: 4px;
  color: #475569;
  font-size: 13px;
  font-weight: 800;
}
.phone-test-actions select {
  min-height: 38px;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 8px;
  padding: 6px 10px;
  background: #fff;
  color: #0f172a;
  font-weight: 900;
}
.phone-test-panel .notice {
  margin: 0;
}
.compact-add-btn {
  min-height: 38px;
  padding: 8px 12px;
  white-space: nowrap;
}
.builder-head {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.wide { grid-column: 1 / -1; }
.check-row { display: flex; align-items: center; gap: 9px; color: var(--ink); }
.check-row input { width: auto; }
.friendly-form {
  display: grid;
  gap: 16px;
}
.form-section {
  min-width: 0;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, #ffffff, #f8fafc);
}
.form-section legend {
  padding: 0 8px;
  color: var(--navy);
  font-size: 15px;
  font-weight: 800;
}
.form-section .form-grid {
  margin-top: 6px;
}
.form-section > label + .form-grid,
.form-section > label + .action-row {
  margin-top: 12px;
}
.advanced-settings {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  overflow: hidden;
}
.advanced-settings summary {
  min-height: 58px;
  padding: 13px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}
.advanced-settings summary::-webkit-details-marker {
  display: none;
}
.advanced-settings summary span {
  color: var(--navy);
  font-weight: 900;
}
.advanced-settings summary strong {
  padding: 5px 10px;
  border-radius: 999px;
  background: #ecfeff;
  color: #0e7490;
  font-size: 13px;
}
.advanced-settings summary::after {
  content: "+";
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: none;
  border-radius: 999px;
  background: #dcfce7;
  color: #15803d;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
}
.advanced-settings[open] summary {
  border-bottom: 1px solid var(--line);
}
.advanced-settings[open] summary::after {
  content: "−";
  background: #16a34a;
  color: #fff;
}
.advanced-settings-grid {
  padding: 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.advanced-settings-actions {
  margin-top: 12px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.save-inline-status.notice {
  margin: 0;
  padding: 8px 10px;
  font-size: 13px;
}
.field-hint {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 14px;
}
.question-kind-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.question-kind-card {
  min-height: 126px;
  padding: 14px;
  display: grid;
  align-content: start;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  transition: border 160ms ease, box-shadow 160ms ease, transform 160ms ease, background 160ms ease;
}
.question-kind-card:hover {
  transform: translateY(-1px);
  border-color: #bfdbfe;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .08);
}
.question-kind-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.question-kind-card:has(input:checked) {
  border-color: var(--blue);
  background:
    linear-gradient(180deg, #eff6ff, #ffffff);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .1);
}
.question-kind-card:has(input:checked)::after {
  content: "נבחר";
  justify-self: start;
  min-height: 24px;
  padding: 3px 8px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 800;
}
.question-kind-card:has(input:focus-visible) {
  outline: 3px solid rgba(6, 182, 212, .45);
  outline-offset: 3px;
}
.kind-icon,
.question-kind-badge {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #e0f2fe;
  color: #075985;
  font-size: 14px;
  font-weight: 900;
  direction: ltr;
}
.question-kind-card strong {
  line-height: 1.2;
}
.question-kind-card small {
  color: var(--muted);
  line-height: 1.25;
}
.media-section.is-recommended {
  border-color: #bfdbfe;
  background: #f0f9ff;
}
.option-builder {
  display: grid;
  gap: 10px;
}
.option-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  transition: border 160ms ease, box-shadow 160ms ease;
}
.option-row:focus-within {
  border-color: #93c5fd;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .08);
}
.option-number {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 900;
  direction: ltr;
}
.option-row .option-text-input {
  min-height: 42px;
}
.correct-toggle {
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}
.correct-toggle input {
  width: auto;
}
.option-remove {
  width: 38px;
  min-height: 38px;
  padding: 0;
  font-size: 20px;
}
.add-option-btn {
  justify-self: start;
}
.background-preview-wrap {
  display: grid;
  gap: 8px;
}
.preset-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 12px;
}
.preset-card {
  min-height: 92px;
  overflow: hidden;
  position: relative;
  padding: 0;
  border: 2px solid transparent;
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .1), rgba(6, 182, 212, .08)),
    url("/assets/reca.png");
  background-size: cover;
  background-position: center;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .12);
}
.preset-card span {
  position: absolute;
  inset-inline: 8px;
  bottom: 8px;
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(2, 6, 23, .72);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.preset-card.is-selected {
  border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .16), 0 12px 28px rgba(37, 99, 235, .2);
}
.preset-card.preview-studio {
  background-image:
    linear-gradient(135deg, rgba(79, 70, 229, .4), rgba(217, 70, 239, .28)),
    url("/assets/reca.png");
}
.preset-card.preview-sunset {
  background-image:
    linear-gradient(135deg, rgba(249, 115, 22, .38), rgba(244, 63, 94, .25)),
    url("/assets/reca.png");
}
.preset-card.preview-forest {
  background-image:
    linear-gradient(135deg, rgba(20, 83, 45, .42), rgba(14, 165, 233, .18)),
    url("/assets/reca.png");
}
.preset-card.preview-clean {
  background-image:
    linear-gradient(135deg, rgba(248, 250, 252, .5), rgba(224, 242, 254, .34)),
    url("/assets/reca.png");
}
.preset-card.preview-grandstage {
  background-image:
    linear-gradient(180deg, rgba(2, 6, 23, .08), rgba(2, 6, 23, .22)),
    url("/assets/1.png");
  background-size: cover, 100% 100%;
}
.preset-card.preview-neonquiz {
  background-image:
    linear-gradient(180deg, rgba(15, 23, 42, .08), rgba(15, 23, 42, .18)),
    url("/assets/2.png");
  background-size: cover, 100% 100%;
}
.background-preview {
  min-height: 210px;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 12px;
  padding: 14px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .1), rgba(6, 182, 212, .08)),
    var(--preview-image, url("/assets/reca.png"));
  background-size: cover;
  background-position: center;
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.background-preview.preview-studio {
  background-image:
    linear-gradient(135deg, rgba(79, 70, 229, .4), rgba(217, 70, 239, .28)),
    var(--preview-image, url("/assets/reca.png"));
}
.background-preview.preview-sunset {
  background-image:
    linear-gradient(135deg, rgba(249, 115, 22, .38), rgba(244, 63, 94, .25)),
    var(--preview-image, url("/assets/reca.png"));
}
.background-preview.preview-forest {
  background-image:
    linear-gradient(135deg, rgba(20, 83, 45, .42), rgba(14, 165, 233, .18)),
    var(--preview-image, url("/assets/reca.png"));
}
.background-preview.preview-clean {
  background-image:
    linear-gradient(135deg, rgba(248, 250, 252, .5), rgba(224, 242, 254, .34)),
    var(--preview-image, url("/assets/reca.png"));
}
.background-preview.preview-grandstage {
  background-image:
    linear-gradient(180deg, rgba(2, 6, 23, .08), rgba(2, 6, 23, .22)),
    var(--preview-image, url("/assets/1.png"));
  background-size: cover, 100% 100%;
}
.background-preview.preview-neonquiz {
  background-image:
    linear-gradient(180deg, rgba(15, 23, 42, .08), rgba(15, 23, 42, .18)),
    var(--preview-image, url("/assets/2.png"));
  background-size: cover, 100% 100%;
}
.preview-fullscreen-btn {
  justify-self: start;
}
.background-preview-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(2, 6, 23, .78);
}
.background-preview-modal-panel {
  width: min(1180px, 100%);
  position: relative;
}
.background-preview-close {
  position: absolute;
  z-index: 1;
  top: 14px;
  left: 14px;
}
.fullscreen-preview {
  min-height: min(72vh, 760px);
  grid-template-columns: minmax(0, 1fr) minmax(130px, 18%);
  padding: clamp(18px, 3vw, 34px);
}
.fullscreen-preview .preview-stage strong {
  font-size: clamp(34px, 5vw, 64px);
}
.fullscreen-preview .preview-stage span {
  font-size: clamp(16px, 2vw, 24px);
}
.fullscreen-preview aside {
  font-size: clamp(24px, 3vw, 42px);
}
.preview-stage {
  min-width: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 9px;
  text-align: center;
}
.preview-stage strong {
  width: min(360px, 100%);
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.08;
  text-shadow: 0 4px 18px rgba(0,0,0,.58);
}
.preview-stage span {
  width: min(300px, 92%);
  padding: 8px 12px;
  border: 1px solid rgba(125, 211, 252, .42);
  border-radius: var(--radius);
  background: rgba(2, 6, 23, .62);
  color: #86efac;
  font-weight: 800;
}
.background-preview aside {
  display: grid;
  place-items: center;
  align-self: stretch;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: var(--radius);
  background: rgba(2, 6, 23, .54);
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 1px;
  direction: ltr;
}

.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 14px;
}
.small-stats { grid-template-columns: repeat(4, minmax(100px, 1fr)); }
#activityPanel {
  background:
    linear-gradient(135deg, rgba(30, 64, 175, .96), rgba(14, 116, 144, .92)),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0));
  border-color: rgba(191, 219, 254, .42);
  color: #fff;
  box-shadow: 0 22px 60px rgba(30, 64, 175, .2);
}
#activityPanel .muted,
#activityPanel .stat span {
  color: #dbeafe;
}
#activityPanel .stat {
  background: rgba(255,255,255,.12);
  border-color: rgba(191, 219, 254, .3);
  color: #fff;
}
#activityPanel .secondary {
  background: #fff;
  color: #1e40af;
}
#activityPanel .ghost {
  color: #fff;
  border-color: rgba(255,255,255,.34);
}
#activityPanel .warn {
  background: #111827;
}
.stat {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px;
  min-height: 96px;
}
.stat span { color: var(--muted); display: block; font-size: 14px; }
.stat strong { display: block; font-size: 30px; line-height: 1.15; margin-top: 8px; }
.accent-blue { border-top: 4px solid var(--blue); }
.accent-cyan { border-top: 4px solid var(--cyan); }
.accent-green { border-top: 4px solid var(--green); }
.accent-orange { border-top: 4px solid var(--orange); }

.activity-list, .question-list { display: grid; gap: 10px; }
.activity-card, .question-item, .leader-row, .response-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: var(--radius);
  padding: 14px;
}
.activity-card {
  width: 100%;
  color: var(--ink);
  text-align: right;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border-inline-start: 5px solid var(--activity-tone, var(--blue));
  background:
    linear-gradient(135deg, var(--activity-soft, #eff6ff), #fff 58%);
}
.activity-card.tone-0 { --activity-tone: #2563eb; --activity-soft: #eff6ff; }
.activity-card.tone-1 { --activity-tone: #0f766e; --activity-soft: #ecfdf5; }
.activity-card.tone-2 { --activity-tone: #d97706; --activity-soft: #fffbeb; }
.activity-card.tone-3 { --activity-tone: #7c3aed; --activity-soft: #f5f3ff; }
.activity-card.tone-4 { --activity-tone: #db2777; --activity-soft: #fdf2f8; }
.activity-card.tone-5 { --activity-tone: #16a34a; --activity-soft: #f0fdf4; }
.activity-card.tone-6 { --activity-tone: #0891b2; --activity-soft: #ecfeff; }
.activity-card.tone-7 { --activity-tone: #ea580c; --activity-soft: #fff7ed; }
.activity-select {
  width: 100%;
  min-height: auto;
  padding: 0;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
  text-align: right;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  justify-content: stretch;
  gap: 10px;
}
.activity-select:hover {
  transform: none;
  box-shadow: none;
}
.activity-delete {
  min-height: 36px;
  padding: 7px 11px;
  font-size: 13px;
}
.activity-card small, .question-item small { display: block; color: var(--muted); margin-top: 3px; }
.activity-card.active, .question-item.active { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(37, 99, 235, .09); }
.activity-share-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(239, 246, 255, .98), rgba(236, 254, 255, .9));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
}
.join-link-chip,
.share-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.join-link-chip {
  min-width: 0;
  padding: 10px 12px;
  border-radius: 999px;
  color: #1d4ed8;
  background: #fff;
  border: 1px solid rgba(147, 197, 253, .75);
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(37, 99, 235, .08);
}
.join-link-chip:hover,
.share-action:hover {
  text-decoration: none;
}
.share-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}
.share-action {
  min-height: 42px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, .35);
  background: rgba(255, 255, 255, .92);
  color: var(--navy);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}
.whatsapp-share {
  color: #047857;
  border-color: rgba(34, 197, 94, .35);
  background: #ecfdf5;
}
.email-share {
  color: #7c2d12;
  border-color: rgba(249, 115, 22, .28);
  background: #fff7ed;
}
.share-icon {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: var(--blue);
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  direction: ltr;
}
.whatsapp-share .share-icon { background: #16a34a; }
.email-share .share-icon { background: #f97316; }
.copy-feedback {
  min-width: 92px;
  color: #1d4ed8;
  font-size: 13px;
  font-weight: 800;
}
.activity-edit {
  margin-top: 6px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.status-dot { width: 10px; height: 10px; border-radius: 999px; background: var(--red); }
.status-dot.ok { background: var(--green); }
.status-dot.closed { background: var(--orange); }
.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 5px 11px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 700;
  font-size: 13px;
}
.status-pill.green { background: #dcfce7; color: #15803d; }
.status-pill.red { background: #fee2e2; color: #b91c1c; }
.question-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0;
  align-items: start;
  padding: 0;
  overflow: hidden;
  transition: border 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.question-item.dragging {
  opacity: .55;
  transform: scale(.985);
}
.question-item.drag-over {
  border-color: #38bdf8;
  box-shadow: 0 -4px 0 #38bdf8, 0 14px 28px rgba(15, 23, 42, .08);
}
.question-drag-handle {
  width: 42px;
  height: 100%;
  min-height: 54px;
  padding: 0;
  border: 0;
  border-inline-end: 1px solid var(--line);
  border-radius: 0;
  background: #f8fafc;
  color: #64748b;
  box-shadow: none;
  cursor: grab;
  font-size: 18px;
  line-height: 1;
}
.question-drag-handle:active {
  cursor: grabbing;
}
.question-drag-handle:hover {
  transform: none;
  box-shadow: none;
  background: #eef6ff;
  color: var(--blue);
}
.question-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, .08);
}
.question-main {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  justify-content: stretch;
  padding: 12px;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: right;
  box-shadow: none;
}
.question-main:hover {
  transform: none;
  box-shadow: none;
  background: #f8fafc;
}
.question-item.expanded .question-main {
  background: #f8fafc;
  border-bottom: 1px solid var(--line);
}
.question-index {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #0f172a;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  direction: ltr;
}
.question-copy {
  min-width: 0;
}
.question-copy strong {
  display: block;
  overflow: hidden;
  color: var(--navy);
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.question-expand-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #dcfce7;
  color: #15803d;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  border: 1px solid #bbf7d0;
}
.question-item.expanded .question-expand-icon {
  background: #16a34a;
  color: #fff;
  border-color: #16a34a;
}
.question-details {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  padding: 12px;
  background: #fff;
}
.question-details[hidden] {
  display: none;
}
.question-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.question-meta span {
  min-height: 26px;
  padding: 4px 8px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 12px;
  font-weight: 700;
}
.question-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.question-actions button {
  min-height: 38px;
  padding: 8px 10px;
  font-size: 13px;
}
.question-kind-badge {
  flex: none;
  background: #f1f5f9;
  color: #334155;
  border: 1px solid var(--line);
}
.question-kind-badge.kind-poll { background: #ecfdf5; color: #047857; border-color: #bbf7d0; }
.question-kind-badge.kind-image { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.question-kind-badge.kind-audio { background: #fff7ed; color: #c2410c; border-color: #fed7aa; }
.question-kind-badge.kind-video { background: #fdf2f8; color: #be185d; border-color: #fbcfe8; }
.question-empty {
  min-height: 210px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  text-align: center;
}
.question-empty strong {
  color: var(--navy);
  font-size: 18px;
}
.question-empty span {
  max-width: 280px;
  color: var(--muted);
}
.import-box {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px;
  background: linear-gradient(135deg, #f8fafc, #ecfeff);
}
.import-box input[type="file"] {
  width: 100%;
  padding: 10px;
  border: 1px dashed #94a3b8;
  border-radius: 12px;
  background: #fff;
}
.empty-state {
  border: 1px dashed #cbd5e1;
  border-radius: var(--radius);
  padding: 22px;
  color: var(--muted);
  background: #f8fafc;
}

.live-control {
  display: grid;
  gap: 18px;
}
.live-admin-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 92% 6%, rgba(6, 182, 212, .16), transparent 30%),
    linear-gradient(135deg, #020617, #0f172a 44%, #111827);
  color: #e5edf7;
}
.live-admin-shell {
  width: min(1760px, 100%);
  margin: 0 auto;
  padding: 18px;
  display: grid;
  gap: 18px;
}
.live-admin-topbar {
  position: sticky;
  top: 0;
  z-index: 25;
  min-height: 72px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: var(--radius);
  background: rgba(15, 23, 42, .88);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .28);
  backdrop-filter: blur(14px);
}
.live-admin-topbar > div {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.live-admin-topbar > div:last-child {
  display: grid;
  justify-items: end;
  gap: 2px;
}
.live-admin-topbar strong {
  color: #f8fafc;
  font-size: 22px;
  line-height: 1.1;
}
.live-admin-topbar span {
  color: #94a3b8;
  font-size: 14px;
}
.live-admin-page .panel,
.live-admin-page .stat,
.live-admin-page .leader-row,
.live-admin-page .response-card,
.live-admin-page .empty-state {
  border-color: rgba(148, 163, 184, .22);
  background: rgba(15, 23, 42, .82);
  color: #e5edf7;
  box-shadow: 0 20px 70px rgba(0, 0, 0, .22);
}
.live-admin-page .muted,
.live-admin-page .stat span,
.live-admin-page small {
  color: #94a3b8;
}
.live-admin-page .title,
.live-admin-page h1,
.live-admin-page h2,
.live-admin-page h3,
.live-admin-page .stat strong,
.live-admin-page .leader-row strong {
  color: #f8fafc;
}
.live-admin-page .ghost {
  color: #dbeafe;
  border-color: rgba(148, 163, 184, .28);
}
.live-admin-page .secondary {
  background: rgba(37, 99, 235, .18);
  color: #bfdbfe;
  border: 1px solid rgba(96, 165, 250, .26);
}
.live-control-head {
  min-height: 154px;
  padding: clamp(22px, 3vw, 34px);
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid rgba(37, 99, 235, .15);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(2, 6, 23, .96), rgba(8, 47, 73, .84)),
    linear-gradient(135deg, rgba(34, 197, 94, .18), rgba(6, 182, 212, .12));
  color: #fff;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .3);
}
.live-control-head .title,
.live-control-head .section-kicker {
  color: #fff;
}
.live-control-head .muted {
  max-width: 720px;
  margin: 8px 0 0;
  color: #cbd5e1;
  line-height: 1.6;
}
.live-console-grid {
  display: grid;
  grid-template-columns: minmax(360px, .72fr) minmax(640px, 1.28fr);
  grid-template-areas: "main preview";
  gap: 18px;
  align-items: start;
  direction: ltr;
}
.live-console-main {
  grid-area: main;
  min-width: 0;
  display: grid;
  gap: 18px;
  direction: rtl;
}
.live-preview-panel {
  grid-area: preview;
  position: sticky;
  top: 94px;
  min-width: 0;
  display: grid;
  gap: 12px;
  direction: rtl;
}
.live-preview-panel h3 {
  margin: 0;
}
.live-preview-panel iframe {
  width: 100%;
  height: clamp(420px, calc(100vh - 210px), 860px);
  border: 0;
  border-radius: var(--radius);
  background: #020617;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, .18), 0 22px 80px rgba(0, 0, 0, .34);
}
.live-preview-panel .button {
  min-height: 38px;
  padding: 8px 11px;
  font-size: 13px;
  white-space: nowrap;
}
.live-actions-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 10px;
}
.live-actions-grid button {
  min-height: 46px;
}
.live-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 12px;
}
.live-grid { display: grid; grid-template-columns: 1fr 300px; gap: 20px; }
.live-question {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px;
  background: linear-gradient(135deg, #ffffff, #f0f9ff);
}
.live-admin-page .live-question {
  border-color: rgba(14, 165, 233, .28);
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .92), rgba(8, 47, 73, .78)),
    linear-gradient(135deg, rgba(37, 99, 235, .2), rgba(34, 197, 94, .1));
}
.live-admin-page .result-overview div,
.live-admin-page .report-card {
  border-color: rgba(96, 165, 250, .22);
  background: rgba(2, 6, 23, .42);
}
.live-admin-page .result-overview span,
.live-admin-page .report-card span {
  color: #94a3b8;
}
.live-admin-page .result-overview strong,
.live-admin-page .report-card strong {
  color: #f8fafc;
}
.live-question h3 { font-size: clamp(22px, 3vw, 36px); margin: 16px 0; }
.timer {
  width: 104px;
  height: 104px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--navy);
  color: #fff;
  font-size: 38px;
  font-weight: 800;
  margin-bottom: 18px;
}
.join-box {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px;
  display: grid;
  justify-items: center;
  gap: 12px;
  background: #fff;
  text-align: center;
}
.join-box strong { font-size: 34px; letter-spacing: 2px; direction: ltr; }
.join-url { color: var(--muted); word-break: break-all; direction: ltr; font-size: 13px; }

.result-row {
  display: grid;
  grid-template-columns: minmax(150px, 250px) 1fr 58px;
  align-items: center;
  gap: 12px;
}
.result-row.with-participants {
  align-items: start;
  padding: 14px;
  border: 1px solid #dbeafe;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #ffffff, #f8fbff);
}
.poll-result-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px;
  border: 1px solid #bfdbfe;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #eff6ff, #ecfeff);
}
.poll-result-tools button {
  min-height: 38px;
  padding: 8px 12px;
}
.poll-result-tools span {
  color: #475569;
  font-size: 13px;
  font-weight: 700;
}
.admin-poll-participants {
  padding-top: 4px;
}
.poll-result-participants.admin-poll-participants em {
  background: #e0f2fe;
  color: #075985;
  border: 1px solid #bae6fd;
}
.poll-result-participants.admin-poll-participants small {
  color: #64748b;
}
.result-overview,
.report-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}
.result-overview div,
.report-card {
  padding: 14px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #eef2ff, #ecfeff);
  border: 1px solid #dbeafe;
}
.result-overview span,
.report-card span {
  display: block;
  color: var(--muted);
  font-size: 13px;
}
.result-overview strong,
.report-card strong {
  display: block;
  margin-top: 4px;
  font-size: 28px;
  color: var(--navy);
}
.question-report-list {
  display: grid;
  gap: 10px;
}
.question-report-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(90px, auto));
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
}
.question-report-row span {
  color: var(--muted);
  font-size: 13px;
  white-space: nowrap;
}

.billing-widget {
  width: min(100%, 1040px);
  margin-inline: auto;
  display: grid;
  gap: 18px;
}

.billing-status {
  min-height: 150px;
  padding: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-radius: var(--radius);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .96), rgba(14, 116, 144, .88)),
    linear-gradient(135deg, #fff, #eff6ff);
}

.billing-status.free {
  background:
    linear-gradient(135deg, rgba(37, 99, 235, .95), rgba(6, 182, 212, .86)),
    linear-gradient(135deg, #fff, #eff6ff);
}

.billing-status h3 {
  margin: 6px 0 8px;
  font-size: clamp(24px, 3vw, 36px);
}

.billing-status p {
  max-width: 680px;
  margin: 0;
  color: #dbeafe;
  line-height: 1.55;
}

.billing-status > strong {
  font-size: clamp(30px, 4vw, 52px);
  white-space: nowrap;
}

.billing-note {
  padding: 14px 16px;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #bfdbfe;
  border-radius: var(--radius);
  background: #eff6ff;
  color: #1e3a8a;
}

.billing-note span {
  color: #334155;
}

.billing-plans {
  display: grid;
  grid-template-columns: repeat(3, minmax(230px, 320px));
  justify-content: center;
  gap: 16px;
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.pricing-grid {
  grid-template-columns: repeat(4, minmax(250px, 1fr));
}

.billing-plan-card,
.pricing-card {
  position: relative;
  min-width: 0;
  padding: 20px;
  display: grid;
  align-content: start;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}

.billing-plan-card.featured,
.pricing-card.featured {
  border-color: #60a5fa;
  box-shadow: 0 24px 60px rgba(37, 99, 235, .16);
}

.pricing-badge {
  width: fit-content;
  min-height: 30px;
  padding: 5px 10px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #ecfeff;
  color: #0e7490;
  font-weight: 900;
  font-size: 13px;
}

.billing-plan-card h3,
.pricing-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 24px;
  line-height: 1.15;
}

.billing-price,
.pricing-card strong {
  color: var(--navy);
  font-size: 38px;
  font-weight: 900;
  line-height: 1;
}

.billing-plan-card p,
.pricing-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.billing-plan-card ul {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
  list-style: none;
}

.billing-plan-card li {
  color: #334155;
}

.billing-plan-card li::before {
  content: "✓";
  margin-left: 8px;
  color: var(--green);
  font-weight: 900;
}

.plan-feature-list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
  list-style: none;
  text-align: right;
}

.plan-feature-list li {
  color: #334155;
  font-weight: 700;
}

.plan-feature-list li::before {
  content: "✓";
  margin-left: 8px;
  color: var(--green);
  font-weight: 900;
}

.billing-plan-card li.feature-unavailable::before,
.plan-feature-list li.feature-unavailable::before {
  content: "✕";
  color: #dc2626;
}

.billing-status-features {
  margin-top: 14px;
}

.billing-status .billing-status-features li {
  color: #fff;
}

.billing-status .billing-status-features li::before {
  color: #bbf7d0;
}

.billing-status .billing-status-features li.feature-unavailable::before {
  color: #fecaca;
}

.landing-body .pricing-card.featured .plan-feature-list li {
  color: #fff;
}

.landing-body .pricing-card.featured .plan-feature-list li::before {
  color: #bbf7d0;
}

.custom-plan-control {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 16px;
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fafc, #eef6ff);
  border: 1px solid #dbeafe;
}

.custom-plan-control input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.custom-player-picker {
  width: 100%;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 12px;
}

.custom-player-picker button {
  width: 44px;
  height: 44px;
  padding: 0;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #0f172a;
  color: #fff;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
}

.custom-player-display {
  display: grid;
  justify-items: center;
  gap: 2px;
  color: #0f172a;
}

.custom-player-display strong {
  font-size: clamp(52px, 6vw, 78px);
  line-height: .95;
  font-weight: 900;
}

.custom-player-display span {
  color: #475569;
  font-size: 15px;
  font-weight: 900;
}

.custom-plan-total {
  color: #0f766e;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}

.paypal-slot {
  display: grid;
  gap: 10px;
  min-height: 46px;
}

.paypal-button-wrap {
  min-height: 44px;
}

.credit-card-toggle {
  width: 100%;
  background: #111827;
}

.credit-card-panel {
  display: none;
  gap: 12px;
  padding: 14px;
  border: 1px solid #bfdbfe;
  border-radius: var(--radius);
  background: #f8fafc;
}

.credit-card-panel.open {
  display: grid;
}

.credit-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.credit-card-grid label:nth-child(1),
.credit-card-grid label:nth-child(2) {
  grid-column: 1 / -1;
}

.card-field-frame {
  min-height: 46px;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
}

.card-field-frame:focus-within {
  border-color: var(--cyan);
  box-shadow: 0 0 0 4px rgba(6, 182, 212, .12);
}

.credit-card-submit {
  width: 100%;
}

.card-fallback-slot {
  display: grid;
  gap: 10px;
}

.paypal-card-button {
  min-height: 44px;
}

.billing-login-button {
  width: 100%;
}

.pricing-preview .section-intro p:not(.hero-kicker) {
  max-width: 760px;
  margin-inline: auto;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.pricing-preview-actions {
  margin-top: 22px;
  display: flex;
  justify-content: center;
}

.pricing-body {
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(248,250,252,.88), rgba(238,246,251,.96)),
    url("/assets/hero-live-clickers-3d.png") center / cover fixed;
}

.pricing-page {
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: 122px 22px 70px;
  display: grid;
  gap: 22px;
}

.pricing-hero {
  min-height: 280px;
  padding: clamp(28px, 5vw, 56px);
  display: grid;
  align-content: end;
  border-radius: var(--radius);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .94), rgba(7, 89, 133, .88)),
    linear-gradient(135deg, #fff, #eff6ff);
  box-shadow: 0 30px 90px rgba(15, 23, 42, .18);
}

.pricing-hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(38px, 5vw, 66px);
  line-height: 1.04;
}

.pricing-hero p:not(.hero-kicker) {
  max-width: 700px;
  margin: 14px 0 0;
  color: #dbeafe;
  font-size: 19px;
  line-height: 1.65;
}

.pricing-panel {
  padding: 22px;
}
.result-row.correct .result-label strong { color: #15803d; }
.result-label span { display: block; color: var(--muted); font-size: 13px; }
.bar { height: 30px; background: #e2e8f0; border-radius: 999px; overflow: hidden; }
.bar span { display: block; height: 100%; width: 0; transition: width 480ms ease; }
.bar-row {
  display: grid;
  grid-template-columns: minmax(180px, 320px) 1fr 70px;
  gap: 14px;
  align-items: center;
}
.response-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.response-card small { display: block; color: var(--muted); margin-top: 8px; }
.leader-row { display: flex; justify-content: space-between; align-items: center; }

.notice {
  padding: 10px 12px;
  border-radius: var(--radius);
  background: #eff6ff;
  color: #1d4ed8;
}
.error { background: #fef2f2; color: #b91c1c; }

.participant-body {
  background:
    radial-gradient(circle at top right, rgba(239, 68, 68, .18), transparent 34%),
    linear-gradient(180deg, #020617, #111827);
}
.participant {
  height: 100dvh;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 10px;
  background: transparent;
  overflow: hidden;
}
.participant .panel {
  width: min(590px, 100%);
  max-height: calc(100dvh - 20px);
  overflow: hidden;
  display: grid;
  gap: 10px;
  background: rgba(15, 23, 42, .94);
  border-color: rgba(148, 163, 184, .28);
  color: #f8fafc;
  box-shadow: 0 28px 80px rgba(0,0,0,.34);
}
.participant .title.xl {
  font-size: clamp(22px, 7vw, 34px);
  line-height: 1.08;
}
.participant .muted,
.participant label {
  color: #cbd5e1;
}
.participant input,
.participant textarea {
  background: rgba(2, 6, 23, .76);
  border-color: rgba(148, 163, 184, .28);
  color: #fff;
}
.participant-logo {
  width: 70px;
  max-height: 58px;
  justify-self: center;
}
.join-submit {
  background: var(--red);
  font-weight: 900;
}
.participant-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(125, 211, 252, .28);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(14, 165, 233, .16), rgba(34, 197, 94, .12));
}
.participant-card div {
  display: grid;
  gap: 2px;
}
.participant-card strong {
  color: #f8fafc;
}
.participant-card span {
  color: #bae6fd;
  font-size: 14px;
}
.participant-card button {
  min-height: 34px;
  padding: 7px 10px;
  color: #e0f2fe;
  border-color: rgba(125, 211, 252, .3);
}
.answer-grid {
  min-height: 0;
  display: grid;
  gap: 7px;
}
.answer-btn {
  min-height: 48px;
  max-height: 78px;
  text-align: right;
  background:
    linear-gradient(135deg, rgba(14, 165, 233, .18), rgba(34, 197, 94, .10)),
    rgba(255,255,255,.08);
  color: #f8fafc;
  border: 2px solid rgba(125, 211, 252, .36);
  justify-content: flex-start;
  box-shadow: 0 10px 24px rgba(0,0,0,.18), inset 0 0 18px rgba(255,255,255,.04);
}
.answer-btn span,
.screen-option h2 span {
  width: 28px;
  height: 34px;
  flex: none;
  display: inline-grid;
  place-items: center;
  margin-inline-start: 14px;
  margin-inline-end: 0;
  border-radius: 0;
  background: transparent;
  color: #e0f2fe;
  font-size: .72em;
  font-weight: 900;
  direction: ltr;
}
.answer-btn.selected {
  border-color: #22c55e;
  background:
    linear-gradient(135deg, rgba(34, 197, 94, .34), rgba(14, 165, 233, .18)),
    rgba(20, 83, 45, .7);
  color: #ffffff;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, .22), 0 18px 38px rgba(0,0,0,.26);
}
.answer-btn.selected:disabled {
  opacity: 1;
  filter: saturate(1.15);
}
.answer-btn:disabled:not(.selected) {
  opacity: .32;
  filter: grayscale(.45);
}
.participant-status-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
#questionArea {
  min-height: 0;
  overflow: hidden;
}
#questionArea .status-pill {
  min-height: 28px;
  padding-block: 3px;
}
.participant-media {
  width: 100%;
  max-height: min(24dvh, 190px);
  object-fit: contain;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: #f8fafc;
}
audio.participant-media {
  min-height: 56px;
  padding: 8px;
}

.screen {
  height: 100vh;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .1), rgba(6, 182, 212, .08)),
    url("/assets/reca.png");
  background-size: cover;
  background-position: center;
  color: #fff;
  padding: 24px;
  position: relative;
  isolation: isolate;
  text-shadow: 0 0 24px rgba(34, 211, 238, .25);
}

.sound-unlock {
  position: fixed;
  top: 18px;
  left: 18px;
  z-index: 80;
  display: none;
  align-items: center;
  gap: 10px;
  max-width: min(420px, calc(100vw - 36px));
  padding: 10px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  background: rgba(15, 23, 42, .92);
  box-shadow: 0 18px 45px rgba(0,0,0,.24);
  color: #e2e8f0;
}

.sound-unlock.show {
  display: flex;
}

.sound-unlock button {
  flex: 0 0 auto;
}

.sound-unlock span {
  font-size: 14px;
  line-height: 1.35;
}

.screen.bg-studio {
  background:
    linear-gradient(135deg, rgba(79, 70, 229, .4), rgba(217, 70, 239, .28)),
    url("/assets/reca.png");
}
.screen.bg-sunset {
  background:
    linear-gradient(135deg, rgba(249, 115, 22, .38), rgba(244, 63, 94, .25)),
    url("/assets/reca.png");
}
.screen.bg-forest {
  background:
    linear-gradient(135deg, rgba(20, 83, 45, .42), rgba(14, 165, 233, .18)),
    url("/assets/reca.png");
}
.screen.bg-clean {
  background:
    linear-gradient(135deg, rgba(248, 250, 252, .5), rgba(224, 242, 254, .34)),
    url("/assets/reca.png");
  color: #fff;
}
.screen.bg-clean .panel,
.screen.bg-clean .stat,
.screen.bg-clean .audience-count {
  background: rgba(255,255,255,.7);
  border-color: rgba(15,23,42,.12);
  color: #0f172a;
}
.screen.bg-clean .muted,
.screen.bg-clean .podium-card em {
  color: #475569;
}
.screen.bg-clean .answer-chip {
  background: #dcfce7;
  color: #166534;
}
.screen.bg-grandstage {
  background:
    linear-gradient(180deg, rgba(2, 6, 23, .08), rgba(2, 6, 23, .22)),
    url("/assets/1.png");
  background-size: cover, 100% 100%;
  background-position: center, center;
  background-repeat: no-repeat;
}
.screen.bg-grandstage .screen-header-line #screenTitle,
.screen.bg-grandstage .audience-count {
  border-color: rgba(251, 191, 36, .5);
  background: rgba(15, 23, 42, .68);
  box-shadow: 0 0 24px rgba(251, 146, 60, .2);
}
.screen.bg-grandstage .screen-question-center h1 {
  color: #fff7ed;
  text-shadow:
    0 0 14px rgba(251, 191, 36, .38),
    0 8px 28px rgba(2, 6, 23, .82);
}
.screen.bg-grandstage .join-code {
  color: #fde68a;
}
.screen.bg-grandstage .qr {
  border-color: rgba(251, 191, 36, .42);
  background: rgba(255, 247, 237, .95);
  box-shadow: 0 0 30px rgba(251, 146, 60, .16);
}
.screen.bg-grandstage #screenTimer {
  border-color: rgba(251, 191, 36, .58);
  background:
    radial-gradient(circle at 35% 22%, rgba(255,255,255,.3), transparent 26%),
    conic-gradient(from 180deg, #facc15, #f97316, #ef4444, #facc15);
  box-shadow:
    0 0 0 6px rgba(251, 191, 36, .12),
    0 0 36px rgba(249, 115, 22, .46),
    inset 0 0 22px rgba(255,255,255,.14);
}
.screen.bg-grandstage .screen-option {
  border-radius: 999px;
  border-color: rgba(251, 191, 36, .48);
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .9), rgba(69, 26, 3, .72)),
    linear-gradient(90deg, rgba(251, 191, 36, .24), rgba(239, 68, 68, .18));
  box-shadow:
    0 0 20px rgba(251, 146, 60, .18),
    inset 0 0 22px rgba(255,255,255,.04);
}
.screen.bg-grandstage .screen-option h2 span {
  border-radius: 999px;
  border-color: rgba(251, 191, 36, .4);
  background: rgba(251, 191, 36, .18);
}
.screen.bg-grandstage.reveal-results #screenOptions.poll-results-grid,
.screen.bg-grandstage.question-time-over #screenOptions.poll-results-grid {
  width: min(1120px, 78vw);
  max-height: min(58vh, 540px);
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: clamp(10px, 1.3vw, 18px);
  padding-top: 6px;
  transform: translateY(clamp(4px, 1.5vh, 18px));
}
.screen.bg-grandstage .poll-result-card {
  min-height: clamp(185px, calc(700px / var(--option-count, 4)), 300px);
  border-radius: 22px;
  padding: clamp(14px, 1.7vw, 22px);
  background:
    radial-gradient(circle at 50% 18%, rgba(251, 191, 36, .16), transparent 34%),
    linear-gradient(155deg, rgba(15, 23, 42, .94), rgba(69, 26, 3, .86));
}
.screen.bg-grandstage .poll-result-card::before {
  border-radius: 24px 24px 0 0;
}
.screen.bg-grandstage .poll-result-card h2 {
  min-height: 54px;
  font-size: clamp(18px, calc(7vw / var(--option-count, 4)), 30px);
  line-height: 1.08;
}
.screen.bg-grandstage .poll-result-meter {
  width: clamp(58px, 6vw, 86px);
  min-height: 86px;
}
.screen.bg-grandstage .poll-result-score strong {
  font-size: clamp(28px, calc(11vw / var(--option-count, 4)), 48px);
}
.screen.bg-grandstage aside.panel,
.screen.bg-grandstage .stat {
  border-color: rgba(251, 191, 36, .34);
  background: rgba(15, 23, 42, .72);
}
.screen.bg-grandstage .bar-row {
  background:
    radial-gradient(circle at 16% 10%, rgba(250, 204, 21, .24), transparent 32%),
    linear-gradient(135deg, rgba(15, 23, 42, .94), rgba(69, 26, 3, .86));
}
.screen.bg-grandstage .answer-chip {
  border-color: rgba(251, 191, 36, .4);
  background: rgba(69, 26, 3, .74);
  color: #fde68a;
}
.screen.bg-neonquiz {
  background:
    linear-gradient(180deg, rgba(15, 23, 42, .08), rgba(15, 23, 42, .18)),
    url("/assets/2.png");
  background-size: cover, 100% 100%;
  background-position: center, center;
  background-repeat: no-repeat;
}
.screen.bg-neonquiz .screen-header-line #screenTitle {
  border-color: rgba(56, 189, 248, .52);
  background: rgba(30, 27, 75, .62);
}
.screen.bg-neonquiz .screen-question-center h1 {
  color: #f8fafc;
  text-shadow:
    0 0 18px rgba(56, 189, 248, .42),
    0 0 30px rgba(217, 70, 239, .28);
}
.screen.bg-neonquiz .audience-count {
  border-color: rgba(250, 204, 21, .48);
  background: rgba(30, 27, 75, .62);
}
.screen.bg-neonquiz #screenTimer {
  border-radius: 18px;
  border-color: rgba(250, 204, 21, .5);
  background:
    linear-gradient(135deg, rgba(37, 99, 235, .92), rgba(217, 70, 239, .88));
  box-shadow:
    0 0 0 5px rgba(56, 189, 248, .1),
    0 0 34px rgba(56, 189, 248, .42),
    0 0 44px rgba(217, 70, 239, .34);
}
.screen.bg-neonquiz .join-code {
  color: #fde047;
}
.screen.bg-neonquiz .qr {
  border-color: rgba(56, 189, 248, .4);
  background: rgba(248, 250, 252, .96);
  box-shadow:
    0 0 24px rgba(56, 189, 248, .18),
    0 0 36px rgba(217, 70, 239, .12);
}
.screen.bg-neonquiz .screen-option {
  border-radius: 12px;
  border-color: rgba(56, 189, 248, .52);
  background:
    linear-gradient(135deg, rgba(30, 27, 75, .88), rgba(49, 46, 129, .72)),
    linear-gradient(90deg, rgba(56, 189, 248, .24), rgba(244, 114, 182, .18));
}
.screen.bg-neonquiz .screen-option:nth-child(even) {
  border-color: rgba(250, 204, 21, .5);
  box-shadow: 0 0 22px rgba(250, 204, 21, .16), inset 0 0 22px rgba(255,255,255,.04);
}
.screen.bg-neonquiz .screen-option h2 span {
  border-radius: 4px;
  border-color: rgba(250, 204, 21, .44);
  background: rgba(250, 204, 21, .16);
}
.screen.bg-neonquiz aside.panel,
.screen.bg-neonquiz .stat {
  border-color: rgba(56, 189, 248, .34);
  background: rgba(30, 27, 75, .7);
}
.screen.bg-neonquiz .bar-row {
  background:
    radial-gradient(circle at 16% 10%, rgba(250, 204, 21, .16), transparent 32%),
    linear-gradient(135deg, rgba(30, 27, 75, .92), rgba(49, 46, 129, .8));
}
.screen.bg-neonquiz .answer-chip {
  border-color: rgba(56, 189, 248, .34);
  background: rgba(30, 27, 75, .72);
  color: #a5f3fc;
}
.screen.has-custom-bg {
  background-size: cover;
  background-position: center;
}
.screen-layout {
  height: calc(100vh - 48px);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.gate-capacity {
  justify-self: center;
  max-width: min(92vw, 760px);
  padding: 9px 16px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(2, 6, 23, .54);
  color: #fff;
  font-size: clamp(14px, 1.45vw, 20px);
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  box-shadow: 0 10px 28px rgba(2, 6, 23, .18);
}
.screen.mode-gates .audience-count {
  gap: 8px;
  padding: 7px 11px;
  white-space: nowrap;
}
.screen.mode-gates .audience-count span {
  font-size: clamp(12px, 1.1vw, 15px);
}
.screen.mode-gates .audience-count strong {
  min-width: 40px;
  min-height: 40px;
  padding: 0 10px;
  font-size: clamp(18px, 1.8vw, 24px);
}
.screen.bg-grandstage .gate-capacity {
  border-color: rgba(251, 191, 36, .4);
  background: rgba(69, 26, 3, .72);
  color: #fde68a;
}
.screen.bg-neonquiz .gate-capacity {
  border-color: rgba(56, 189, 248, .42);
  background: rgba(30, 27, 75, .72);
  color: #a5f3fc;
}
.screen-header-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  padding-left: 300px;
}
.screen-header-line #screenTitle {
  max-width: min(720px, 58vw);
  min-height: 42px;
  padding: 8px 14px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(125, 211, 252, .28);
  border-radius: 999px;
  background: rgba(2, 6, 23, .46);
  color: #e0f2fe;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.screen.mode-question .screen-header-line #screenTitle {
  display: none;
}
.audience-count {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(6, 182, 212, .18), rgba(168, 85, 247, .18));
  border: 1px solid rgba(125, 211, 252, .42);
  box-shadow: 0 0 24px rgba(6, 182, 212, .28), inset 0 0 18px rgba(255,255,255,.05);
}
.audience-count span {
  color: #cbd5e1;
  font-weight: 700;
}
.audience-count strong {
  min-width: 46px;
  min-height: 46px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #06b6d4, #d946ef);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  box-shadow: 0 0 22px rgba(217, 70, 239, .55);
}
.screen h1 {
  align-self: center;
  max-width: min(90%, 1060px);
  margin: 0 auto;
  padding: .08em .16em .16em;
  text-align: center;
  font-size: clamp(42px, 5.4vw, 78px);
  line-height: 1.08;
  color: #f8fbff;
  text-shadow:
    0 0 14px rgba(14, 165, 233, .52),
    0 0 34px rgba(217, 70, 239, .34),
    0 4px 18px rgba(0,0,0,.62);
}
.screen-stage {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 14px;
  position: relative;
  padding: clamp(18px, 2.2vw, 34px);
  transform-origin: center right;
  transition: opacity 220ms ease, transform 220ms ease, filter 220ms ease;
}
.screen-question-center {
  min-height: 0;
  width: 100%;
  display: grid;
  grid-template-rows: minmax(0, auto) auto minmax(0, auto);
  place-items: center;
  align-content: center;
  gap: clamp(12px, 2vh, 22px);
}
.screen-stage::before {
  content: none;
  position: absolute;
  inset: clamp(54px, 8vh, 88px) clamp(18px, 2.8vw, 44px) clamp(112px, 18vh, 170px);
  border-radius: 30px;
  clip-path: polygon(8% 0, 92% 0, 100% 22%, 100% 78%, 92% 100%, 8% 100%, 0 78%, 0 22%);
  background:
    linear-gradient(90deg, #0ea5e9, #38bdf8 36%, transparent 42% 58%, #d946ef 64%, #f472b6),
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.02));
  padding: 4px;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  box-shadow:
    0 0 18px rgba(14, 165, 233, .95),
    0 0 38px rgba(217, 70, 239, .82),
    inset 0 0 30px rgba(14, 165, 233, .35);
  opacity: .98;
  pointer-events: none;
}
.screen-stage::after {
  content: none;
  position: absolute;
  inset: clamp(64px, 9vh, 104px) clamp(32px, 4vw, 72px) clamp(126px, 20vh, 190px);
  border-radius: 24px;
  clip-path: polygon(7% 0, 93% 0, 100% 24%, 100% 76%, 93% 100%, 7% 100%, 0 76%, 0 24%);
  background:
    radial-gradient(circle at 18% 45%, rgba(0, 102, 255, .2), transparent 30%),
    radial-gradient(circle at 82% 46%, rgba(217, 70, 239, .18), transparent 32%),
    rgba(2, 6, 23, .48);
  border: 1px solid rgba(125, 211, 252, .12);
  pointer-events: none;
}
.screen-stage > * {
  position: relative;
  z-index: 1;
}
.screen.mode-countdown .screen-stage,
.screen.mode-gates .screen-stage {
  grid-template-rows: auto minmax(0, 1fr) auto;
}
.screen.mode-countdown {
  padding: 0;
}
.screen.mode-countdown .screen-layout {
  height: 100vh;
  grid-template-columns: 1fr;
}
.screen.mode-countdown aside,
.screen.mode-countdown .screen-header-line,
.screen.mode-countdown #questionText,
.screen.mode-countdown #screenTimer {
  display: none;
}
.screen.mode-countdown .screen-stage {
  min-height: 100vh;
  grid-template-rows: 1fr;
  padding: 0;
  place-items: center;
}
.screen.mode-countdown .screen-question-center {
  width: 100%;
  height: 100vh;
  grid-template-rows: 1fr;
}
.screen.mode-countdown #screenOptions {
  width: 100%;
  height: 100%;
  max-height: none;
  align-content: center;
  justify-items: center;
}
.screen.mode-countdown #questionText {
  align-self: end;
}
.screen.mode-countdown .screen-stage::before {
  inset: clamp(74px, 12vh, 124px) clamp(16px, 3vw, 48px) clamp(74px, 12vh, 124px);
}
.screen.mode-countdown .screen-stage::after {
  inset: clamp(88px, 14vh, 144px) clamp(34px, 5vw, 84px) clamp(88px, 14vh, 144px);
}
.screen.mode-intro,
.screen.mode-launch {
  padding: 0;
}
.screen.mode-intro .screen-layout,
.screen.mode-launch .screen-layout {
  height: 100vh;
  grid-template-columns: 1fr;
}
.screen.mode-intro aside,
.screen.mode-intro .screen-header-line,
.screen.mode-intro #questionText,
.screen.mode-intro #screenTimer,
.screen.mode-launch aside,
.screen.mode-launch .screen-header-line,
.screen.mode-launch #questionText,
.screen.mode-launch #screenTimer {
  display: none;
}
.screen.mode-intro .screen-stage,
.screen.mode-launch .screen-stage {
  grid-template-rows: 1fr;
}
.screen.mode-intro .screen-question-center,
.screen.mode-launch .screen-question-center {
  width: 100%;
  height: 100vh;
  grid-template-rows: 1fr;
}
.screen.mode-intro #screenOptions,
.screen.mode-launch #screenOptions {
  width: 100%;
  height: 100vh;
  align-content: stretch;
}
.screen.mode-intro .screen-stage::before,
.screen.mode-intro .screen-stage::after,
.screen.mode-launch .screen-stage::before,
.screen.mode-launch .screen-stage::after {
  display: none;
}
.screen.mode-launch .launch-media {
  position: fixed;
  inset: 0;
  z-index: 10;
  width: 100vw;
  height: 100vh;
}
.screen-stage.is-leaving {
  opacity: 0;
  transform: translateY(18px) scale(.985);
  filter: blur(6px);
}
.screen-stage.is-entering {
  animation: stageEnter 420ms cubic-bezier(.2, .8, .2, 1) both;
}
.screen.reveal-results aside.panel,
.screen.question-time-over aside.panel,
.screen.reveal-results .screen-header-line,
.screen.question-time-over .screen-header-line {
  display: none;
}
.screen.reveal-results .screen-layout,
.screen.question-time-over .screen-layout {
  grid-template-columns: 1fr;
}
.screen.time-over-notice .screen-layout,
.screen.time-over-notice .screen-stage,
.screen.time-over-notice .screen-question-center {
  min-height: calc(100vh - 48px);
}
.screen.time-over-notice .screen-stage {
  grid-template-rows: 1fr;
  padding: 0;
}
.screen.time-over-notice .screen-question-center {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0;
}
.screen.time-over-notice h1 {
  align-self: center;
  justify-self: center;
  margin: 0;
}
.screen .panel {
  background: linear-gradient(135deg, rgba(8, 13, 42, .72), rgba(28, 9, 55, .66));
  border-color: rgba(125, 211, 252, .28);
  color: #fff;
  box-shadow: inset 0 0 20px rgba(6, 182, 212, .08), 0 0 24px rgba(14, 165, 233, .12);
}
.screen aside.panel {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 280px;
  align-content: start;
  gap: 10px;
  padding: 14px;
  min-height: 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(217, 70, 239, .34);
  box-shadow: 0 0 28px rgba(217, 70, 239, .22), inset 0 0 30px rgba(14, 165, 233, .06);
}
.screen .stat {
  min-height: 76px;
  padding: 12px;
  background: rgba(2, 6, 23, .52);
  border-color: rgba(14, 165, 233, .25);
  color: #fff;
  box-shadow: inset 0 0 18px rgba(14, 165, 233, .08);
}
.screen .stat strong { font-size: 26px; margin-top: 4px; }
.screen .muted { color: #cbd5e1; }
.join-code { font-size: 38px; font-weight: 900; letter-spacing: 2px; direction: ltr; line-height: 1; }
.qr {
  width: 178px;
  max-width: 100%;
  aspect-ratio: 1;
  border: 8px solid rgba(255,255,255,.94);
  border-radius: 14px;
  box-shadow: 0 0 28px rgba(14, 165, 233, .28);
  background:
    linear-gradient(90deg, #0f172a 10px, transparent 10px) 0 0 / 20px 20px,
    linear-gradient(#0f172a 10px, transparent 10px) 0 0 / 20px 20px,
    #fff;
}
.qr img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.screen-option {
  min-height: clamp(34px, calc(470px / var(--option-count, 4)), 72px);
  padding: clamp(6px, calc(28px / var(--option-count, 4)), 10px) 18px;
  font-size: clamp(14px, calc(11vw / var(--option-count, 4)), 40px);
  border-radius: 18px;
  border: 1px solid rgba(125, 211, 252, .38);
  background:
    linear-gradient(135deg, rgba(3, 7, 32, .86), rgba(29, 11, 59, .78)),
    linear-gradient(90deg, rgba(14, 165, 233, .3), rgba(217, 70, 239, .3));
  box-shadow:
    0 0 18px rgba(14, 165, 233, .16),
    0 0 22px rgba(217, 70, 239, .13),
    inset 0 0 22px rgba(255,255,255,.04);
  animation: optionEnter 520ms cubic-bezier(.2, .8, .2, 1) both;
}
.screen.has-question-media h1 {
  max-width: min(92%, 980px);
  font-size: clamp(28px, 4vw, 56px);
  line-height: 1.05;
}
.screen.has-question-media .screen-question-center {
  gap: clamp(6px, 1.2vh, 12px);
}
.screen.has-question-media #screenTimer {
  width: 62px;
  height: 62px;
  font-size: 23px;
}
.screen.has-question-media #screenOptions {
  width: min(1040px, 94%);
  max-height: calc(100vh - 190px);
  align-content: stretch;
  grid-auto-rows: minmax(0, auto);
}
.screen.has-question-media .question-media {
  max-height: clamp(110px, 24vh, 230px);
}
.screen.has-question-media .screen-option {
  min-height: clamp(30px, calc(300px / var(--option-count, 4)), 54px);
  padding: clamp(4px, calc(18px / var(--option-count, 4)), 8px) 14px;
  border-radius: 12px;
  font-size: clamp(13px, calc(8vw / var(--option-count, 4)), 26px);
}
.screen.has-question-media .screen-option h2 {
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  line-height: 1.1;
}
.screen.has-question-media .screen-option h2 span {
  width: 24px;
  height: 28px;
}
.screen-option:nth-child(odd) {
  border-color: rgba(14, 165, 233, .52);
  box-shadow: 0 0 22px rgba(14, 165, 233, .22), inset 0 0 22px rgba(255,255,255,.04);
}
.screen-option:nth-child(even) {
  border-color: rgba(217, 70, 239, .52);
  box-shadow: 0 0 22px rgba(217, 70, 239, .22), inset 0 0 22px rgba(255,255,255,.04);
}
.screen-option h2 {
  margin: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  justify-content: stretch;
  gap: 14px;
  font-size: inherit;
  line-height: 1.18;
  text-align: right;
  direction: ltr;
}
.screen-option h2 em {
  min-width: 0;
  direction: rtl;
  font-style: normal;
  overflow-wrap: anywhere;
}
.screen-option h2 span {
  width: 34px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.14);
  font-weight: 900;
}
.screen #screenOptions {
  min-height: 0;
  width: min(1080px, 92%);
  max-height: calc(100vh - 260px);
  justify-self: center;
  display: grid;
  gap: clamp(4px, calc(22px / var(--option-count, 4)), 8px);
  align-content: center;
  overflow: hidden;
}
.screen.reveal-results #screenOptions,
.screen.question-time-over #screenOptions {
  width: min(1280px, 97vw);
  max-height: min(72vh, 760px);
  align-content: center;
  overflow-y: hidden;
  overflow-x: hidden;
  padding: clamp(14px, 2.6vh, 30px) 8px 10px;
  transform: translateY(clamp(18px, 4vh, 48px));
}
.screen #screenOptions.poll-results-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  align-items: stretch;
  align-content: center;
  gap: clamp(14px, 2vw, 26px);
}
.screen #screenOptions.poll-options-list {
  width: min(1180px, 76vw);
  max-height: min(68vh, 720px);
  grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
  align-content: center;
  justify-items: stretch;
  gap: clamp(14px, 1.8vw, 24px);
  padding: clamp(6px, 1vh, 12px) 0;
  transform: none;
}
.screen #screenTimer {
  width: 96px;
  height: 96px;
  margin: 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 999px;
  font-size: 38px;
  font-weight: 900;
  line-height: 1;
  color: #fff;
  background:
    radial-gradient(circle at 35% 22%, rgba(255,255,255,.28), transparent 26%),
    conic-gradient(from 180deg, #06b6d4, #2563eb, #d946ef, #f97316, #06b6d4);
  box-shadow:
    0 0 0 6px rgba(6, 182, 212, .10),
    0 0 34px rgba(14, 165, 233, .55),
    0 0 44px rgba(217, 70, 239, .42),
    inset 0 0 22px rgba(255,255,255,.14);
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}
.screen .bar-row {
  min-height: clamp(50px, calc(390px / var(--option-count, 4)), 76px);
  direction: ltr;
  grid-template-columns: minmax(220px, 38%) minmax(180px, 1fr) minmax(68px, 92px);
  gap: clamp(8px, 1vw, 14px);
  background:
    radial-gradient(circle at 16% 10%, rgba(250, 204, 21, .18), transparent 32%),
    linear-gradient(135deg, rgba(3, 7, 32, .9), rgba(8, 47, 73, .82) 48%, rgba(88, 28, 135, .82));
  align-items: center;
  overflow: visible;
}
.screen .bar-row h2 {
  direction: rtl;
  justify-content: flex-start;
  text-align: right;
  min-width: 0;
}
.screen .bar-row strong {
  direction: ltr;
  text-align: center;
  white-space: nowrap;
}
.screen .bar-row.poll-result {
  min-height: clamp(82px, calc(360px / var(--option-count, 4)), 132px);
  grid-template-columns: 1fr;
  grid-template-rows: auto minmax(24px, auto) auto;
  align-items: center;
  padding: clamp(10px, calc(28px / var(--option-count, 4)), 18px);
}
.screen .bar-row.poll-result h2 {
  width: 100%;
  justify-content: flex-start;
}
.screen .bar-row.poll-result strong {
  font-size: clamp(22px, calc(11vw / var(--option-count, 4)), 42px);
  font-weight: 900;
  justify-self: end;
  color: #fde047;
  text-shadow: 0 0 18px rgba(250, 204, 21, .52), 0 0 26px rgba(34, 211, 238, .22);
}
.screen .bar-row.poll-result .bar {
  width: 100%;
  height: clamp(18px, calc(72px / var(--option-count, 4)), 30px);
}
.screen .poll-result-card {
  min-height: clamp(220px, calc(920px / var(--option-count, 4)), 420px);
  position: relative;
  display: grid;
  grid-template-rows: minmax(72px, auto) 1fr auto;
  justify-items: center;
  align-items: stretch;
  gap: clamp(12px, 1.7vh, 22px);
  padding: clamp(18px, 2.4vw, 30px);
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 24%, rgba(255, 255, 255, .18), transparent 30%),
    linear-gradient(155deg, rgba(2, 6, 23, .96), rgba(8, 47, 73, .92) 52%, rgba(15, 23, 42, .96));
  border: 1px solid rgba(125, 211, 252, .38);
  border-radius: 22px;
  box-shadow:
    0 24px 70px rgba(2, 6, 23, .34),
    inset 0 1px 0 rgba(255, 255, 255, .12);
}
.screen .poll-result-card::before {
  content: "";
  position: absolute;
  inset: auto 12% -28% 12%;
  height: 46%;
  z-index: -1;
  border-radius: 28px 28px 0 0;
  background: linear-gradient(180deg, rgba(34, 211, 238, .2), rgba(34, 197, 94, .04));
  filter: blur(2px);
}
.screen .poll-result-card h2 {
  width: 100%;
  min-height: 0;
  margin: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  justify-content: stretch;
  gap: 12px;
  color: #f8fafc;
  font-size: clamp(22px, calc(9vw / var(--option-count, 4)), 42px);
  line-height: 1.12;
  text-align: right;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .44);
}
.screen .poll-result-card h2 span {
  background: rgba(34, 211, 238, .14);
  border-color: rgba(125, 211, 252, .36);
  color: #67e8f9;
}
.screen .poll-result-meter {
  width: clamp(76px, 8vw, 124px);
  min-height: 128px;
  height: 100%;
  align-self: stretch;
  position: relative;
  display: flex;
  align-items: end;
  justify-content: center;
  padding: 8px;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, .82), rgba(2, 6, 23, .92)),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0));
  border: 1px solid rgba(148, 163, 184, .32);
  box-shadow:
    inset 0 0 28px rgba(0, 0, 0, .42),
    0 0 0 7px rgba(14, 165, 233, .08);
}
.screen .poll-result-meter::after {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: 50%;
  width: 1px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.36), transparent);
}
.screen .poll-result-meter span {
  width: 100%;
  height: var(--result-fill, 0%);
  display: block;
  border-radius: 16px;
  background: linear-gradient(180deg, #facc15, #22c55e 48%, #06b6d4);
  box-shadow:
    0 0 24px rgba(34, 211, 238, .44),
    0 -10px 24px rgba(250, 204, 21, .28),
    inset 0 1px 0 rgba(255,255,255,.42);
  animation: pollMeterGrow 1500ms cubic-bezier(.12, .76, .18, 1) both;
  animation-delay: calc(760ms + (var(--result-index, 0) * 520ms));
  transform-origin: bottom center;
}
.screen .poll-result-score {
  display: grid;
  justify-items: center;
  gap: 2px;
}
.screen .poll-result-score strong {
  color: #fde047;
  font-size: clamp(34px, calc(15vw / var(--option-count, 4)), 68px);
  font-weight: 900;
  line-height: .95;
  text-shadow:
    0 0 22px rgba(250, 204, 21, .48),
    0 3px 14px rgba(0,0,0,.42);
}
.screen .poll-result-score small {
  color: #bae6fd;
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 800;
}
.screen.poll-open h1 {
  max-width: min(1120px, 88vw);
  font-size: clamp(36px, 4.8vw, 78px);
  line-height: 1.04;
  text-shadow:
    0 0 26px rgba(34, 211, 238, .26),
    0 4px 28px rgba(0, 0, 0, .62);
}
.screen #screenOptions.poll-options-list .poll-option,
.screen.mode-question:not(.question-time-over) #screenOptions.poll-options-list .poll-option {
  min-height: clamp(82px, calc(460px / var(--option-count, 4)), 112px);
  width: 100%;
  padding: 0;
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(80, 180, 255, .45);
  background: rgba(5, 15, 45, .62);
  backdrop-filter: blur(10px);
  box-shadow:
    0 0 18px rgba(0, 180, 255, .18),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}
.screen #screenOptions.poll-options-list .poll-option:nth-child(even) {
  border-color: rgba(168, 85, 247, .46);
  box-shadow:
    0 0 18px rgba(168, 85, 247, .18),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}
.screen #screenOptions.poll-options-list .poll-fill {
  position: absolute;
  inset: 0;
  width: var(--percent, 0%);
  background: linear-gradient(90deg, rgba(0, 220, 255, .75), rgba(160, 70, 255, .75));
  opacity: .8;
  transition: width .6s ease;
  z-index: 1;
  transform-origin: right center;
}
.screen #screenOptions.poll-options-list .poll-choice .poll-fill {
  opacity: 0;
}
.screen #screenOptions.poll-options-list .poll-content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(14px, 2vw, 28px);
  height: 100%;
  min-height: inherit;
  padding: 0 clamp(18px, 2vw, 28px);
  color: white;
  font-weight: 800;
}
.screen #screenOptions.poll-options-list .poll-answer {
  min-width: 0;
  display: grid;
  grid-template-columns: clamp(34px, 3vw, 46px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(12px, 1.4vw, 18px);
  flex: 1;
  text-align: right;
}
.screen #screenOptions.poll-options-list .poll-answer span {
  width: clamp(34px, 3vw, 46px);
  height: clamp(34px, 3vw, 46px);
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #bae6fd;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .16);
  font-size: clamp(18px, 1.7vw, 28px);
  font-weight: 900;
  box-shadow: inset 0 0 16px rgba(255, 255, 255, .04);
}
.screen #screenOptions.poll-options-list .poll-answer em {
  min-width: 0;
  color: #f8fafc;
  font-style: normal;
  font-size: clamp(22px, calc(9.5vw / var(--option-count, 4)), 40px);
  line-height: 1.12;
  overflow-wrap: anywhere;
  text-shadow: 0 2px 16px rgba(0, 0, 0, .5);
}
.screen .bar-row.screen-option,
.screen .answer-summary-row {
  animation: none;
}
.screen.reveal-results .result-option,
.screen.question-time-over .result-option {
  opacity: 0;
  transform: translateY(34px) scale(.975);
  animation: resultReveal 1150ms cubic-bezier(.12, .76, .18, 1) forwards;
  animation-delay: calc(360ms + (var(--result-index, 0) * 520ms));
}
.screen .bar-row h2 {
  margin: 0;
  font-size: clamp(16px, calc(6.8vw / var(--option-count, 4)), 27px);
  line-height: 1.15;
}
.screen.mode-question:not(.question-time-over) .screen-option h2 {
  color: #86efac;
  text-shadow: 0 0 18px rgba(34, 197, 94, .42), 0 2px 10px rgba(0,0,0,.48);
}
.screen.mode-question:not(.question-time-over) .screen-option h2 span {
  color: #67e8f9;
}
.screen.mode-question:not(.question-time-over) .screen-option {
  min-height: clamp(48px, calc(520px / var(--option-count, 4)), 88px);
  display: grid;
  align-items: center;
}
.screen .screen-option.correct-option {
  border-color: rgba(74, 222, 128, .98);
  background:
    linear-gradient(135deg, rgba(22, 163, 74, .98), rgba(21, 128, 61, .94));
  box-shadow: 0 0 34px rgba(34, 197, 94, .58), inset 0 0 28px rgba(255,255,255,.1);
  transform: scale(1.018);
}
.screen .screen-option.correct-option h2 {
  color: #fff;
  text-shadow: 0 2px 12px rgba(0,0,0,.3);
}
.screen .bar { height: 24px; }
.screen .bar {
  background: rgba(15, 23, 42, .76);
  border: 1px solid rgba(125, 211, 252, .18);
  box-shadow: inset 0 0 16px rgba(0,0,0,.35);
  min-width: 0;
}
.screen .bar span {
  background: linear-gradient(90deg, #22c55e, #06b6d4 48%, #f97316 100%) !important;
  box-shadow: 0 0 18px rgba(34, 197, 94, .42), 0 0 24px rgba(249, 115, 22, .32);
  transform-origin: left center;
}
.screen.reveal-results .result-option .bar span,
.screen.question-time-over .result-option .bar span {
  width: var(--result-width, 0);
  animation: resultBarGrow 1500ms cubic-bezier(.12, .76, .18, 1) both;
  animation-delay: calc(760ms + (var(--result-index, 0) * 520ms));
}
.screen .answer-summary {
  display: grid;
  gap: 10px;
  margin-bottom: 8px;
}
.answer-summary-row {
  display: grid;
  grid-template-columns: minmax(150px, 240px) minmax(0, 1fr) 70px;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 18px;
  background: rgba(2, 6, 23, .72);
  border: 1px solid rgba(125, 211, 252, .3);
  box-shadow: inset 0 0 18px rgba(14, 165, 233, .08);
}
.answer-summary-row strong,
.answer-summary-row span,
.answer-summary-row em {
  display: block;
}
.answer-summary-row strong {
  color: #f8fafc;
  font-size: clamp(20px, 2vw, 32px);
  line-height: 1.1;
}
.answer-summary-row span {
  color: #cbd5e1;
  font-size: 15px;
}
.answer-summary-row em {
  color: #fff;
  font-style: normal;
  font-size: clamp(22px, 2.3vw, 34px);
  font-weight: 800;
  text-align: left;
}
.answer-summary-row.correct .bar span {
  background: linear-gradient(90deg, #16a34a, #86efac) !important;
  box-shadow: 0 0 18px rgba(34, 197, 94, .5);
}
.answer-summary-row.incorrect .bar span {
  background: linear-gradient(90deg, #ef4444, #fb7185) !important;
  box-shadow: 0 0 18px rgba(239, 68, 68, .44);
}
.screen.question-time-over h1 {
  font-size: clamp(70px, 9vw, 148px);
  color: #fef08a;
  text-shadow:
    0 0 18px rgba(250, 204, 21, .58),
    0 0 46px rgba(249, 115, 22, .42),
    0 6px 22px rgba(0,0,0,.7);
}
.screen.question-time-over #screenOptions {
  max-height: calc(100vh - 190px);
}
.screen.question-time-over.reveal-results .screen-question-center {
  grid-template-rows: minmax(0, 1fr);
  align-content: center;
  padding-top: clamp(44px, 9vh, 110px);
}
.screen.question-time-over.reveal-results h1,
.screen.question-time-over.reveal-results #screenTimer {
  display: none;
}
.screen.question-time-over.reveal-results #screenOptions {
  align-self: center;
  max-height: min(72vh, 760px);
  padding-top: clamp(16px, 3vh, 34px);
}
.screen.many-results.reveal-results .screen-question-center,
.screen.many-results.question-time-over .screen-question-center {
  align-content: start;
  padding-top: clamp(4px, 1.2vh, 14px);
}
.screen.many-results.reveal-results #screenOptions,
.screen.many-results.question-time-over #screenOptions {
  max-height: calc(100vh - 96px);
  align-content: start;
  gap: clamp(2px, calc(16px / var(--option-count, 5)), 6px);
  padding-top: 0;
  transform: none;
}
.screen.many-results.reveal-results .bar-row,
.screen.many-results.question-time-over .bar-row {
  min-height: clamp(30px, calc(310px / var(--option-count, 5)), 54px);
  padding: clamp(3px, calc(16px / var(--option-count, 5)), 7px) 10px;
}
.screen.many-results.reveal-results .bar-row h2,
.screen.many-results.question-time-over .bar-row h2 {
  font-size: clamp(11px, calc(6.2vw / var(--option-count, 5)), 20px);
  line-height: 1.05;
}
.screen.many-results.reveal-results .bar-row .bar,
.screen.many-results.question-time-over .bar-row .bar {
  height: clamp(9px, calc(52px / var(--option-count, 5)), 18px);
}
.screen.many-results.reveal-results .bar-row strong,
.screen.many-results.question-time-over .bar-row strong {
  font-size: clamp(13px, calc(6.6vw / var(--option-count, 5)), 22px);
}
.screen-option:nth-child(2) { animation-delay: 70ms; }
.screen-option:nth-child(3) { animation-delay: 140ms; }
.screen-option:nth-child(4) { animation-delay: 210ms; }
.screen-option:nth-child(5) { animation-delay: 280ms; }
.screen-option:nth-child(6) { animation-delay: 350ms; }
.question-transition {
  animation: participantQuestionEnter 360ms ease both;
}
.join-toast-layer {
  position: fixed;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 80;
  display: grid;
  gap: 10px;
  width: min(520px, calc(100% - 32px));
  pointer-events: none;
}
.answer-toast-layer {
  position: fixed;
  top: 22px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 90;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  width: min(880px, calc(100% - 32px));
  pointer-events: none;
}
.answer-toast {
  opacity: 0;
  transform: translateY(-12px) scale(.98);
  padding: 9px 14px;
  border-radius: 999px;
  background: #dcfce7;
  color: #166534;
  font-weight: 800;
  box-shadow: 0 16px 38px rgba(0,0,0,.24);
  transition: opacity 220ms ease, transform 220ms ease;
}
.answer-toast.show {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.join-toast {
  opacity: 0;
  transform: translateY(-18px) scale(.98);
  padding: 14px 20px;
  border-radius: 999px;
  background: #ffffff;
  color: var(--navy);
  font-size: clamp(18px, 2.5vw, 28px);
  font-weight: 800;
  text-align: center;
  box-shadow: 0 22px 55px rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.8);
  transition: opacity 260ms ease, transform 260ms ease;
}
.join-toast.show {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.join-toast.disconnect {
  background: #fee2e2;
  color: #b91c1c;
  border-color: rgba(239, 68, 68, .35);
}
.countdown-number {
  min-width: 2ch;
  margin: 0;
  display: grid;
  place-items: center;
  font-size: 190px;
  font-weight: 800;
  line-height: 1;
  color: #fff;
  background: transparent;
  border: 0;
  box-shadow: none;
  text-shadow: 0 0 22px currentColor, 0 8px 34px rgba(0,0,0,.62);
  animation: countdownTextPop 620ms cubic-bezier(.2, .9, .2, 1) both;
}
.countdown-number.tone-0 { color: #fef08a; }
.countdown-number.tone-1 { color: #86efac; }
.countdown-number.tone-2 { color: #67e8f9; }
.countdown-number.tone-3 { color: #c4b5fd; }
.countdown-number.tone-4 { color: #f9a8d4; }
.countdown-number.tone-5 { color: #fdba74; }
.screen.mode-question .question-media {
  width: min(100%, 760px);
  max-height: min(28vh, 300px);
}
.question-media,
.intro-media {
  width: min(100%, 980px);
  max-height: min(52vh, 560px);
  object-fit: contain;
  justify-self: center;
  align-self: center;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.08);
  box-shadow: 0 24px 70px rgba(0,0,0,.25);
}
.screen.reveal-results .question-media,
.screen.question-time-over .question-media {
  width: min(100%, 720px);
  max-height: clamp(80px, calc(70vh / var(--option-count, 4)), 220px);
  border-radius: 14px;
}
.full-screen-media {
  width: 100vw;
  height: 100vh;
  max-height: none;
  object-fit: cover;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: #000;
}
audio.full-screen-media {
  width: min(760px, calc(100vw - 48px));
  height: 96px;
  align-self: center;
  justify-self: center;
  border-radius: var(--radius);
  background: rgba(255,255,255,.92);
}
.gate-icon {
  width: clamp(48px, 7vw, 86px);
  height: clamp(48px, 7vw, 86px);
  display: block;
  margin: 0 auto 12px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 34%, #fff 0 13%, transparent 14%),
    radial-gradient(circle at 50% 76%, #fff 0 27%, transparent 28%),
    linear-gradient(135deg, #22c55e, #0ea5e9);
  box-shadow: 0 0 28px rgba(34, 197, 94, .55), 0 0 44px rgba(14, 165, 233, .32);
}
.gate-board {
  width: min(1120px, 88%);
  max-height: 48vh;
  margin: 0 auto;
  padding: 4px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(clamp(104px, calc(880px / var(--gate-count)), 210px), 1fr));
  gap: clamp(6px, calc(70px / var(--gate-count)), 12px);
  align-content: center;
  overflow: auto;
}
.gate-name {
  min-width: 0;
  max-width: 100%;
  min-height: clamp(34px, calc(420px / var(--gate-count)), 58px);
  padding: 6px 10px;
  display: block;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(2, 6, 23, .72), rgba(15, 23, 42, .62));
  border: 1px solid rgba(34, 197, 94, .46);
  box-shadow: 0 0 16px rgba(34, 197, 94, .16), inset 0 0 18px rgba(14, 165, 233, .08);
  color: #f8fafc;
  font-size: var(--gate-name-font-size, var(--gate-font-size, clamp(16px, calc(220px / var(--gate-count)), 30px)));
  font-weight: 800;
  text-align: center;
  line-height: clamp(22px, calc(420px / var(--gate-count)), 46px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  direction: rtl;
}
.gate-empty {
  color: #cbd5e1;
  font-size: clamp(24px, 3vw, 42px);
  font-weight: 800;
  text-align: center;
}
.answer-feed {
  display: grid;
  gap: 6px;
  max-height: 170px;
  overflow: hidden;
}
.answer-feed::before {
  content: attr(data-title);
  color: #cbd5e1;
  font-size: 13px;
  font-weight: 800;
}
.answer-chip {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(14, 165, 233, .18), rgba(217, 70, 239, .18));
  border: 1px solid rgba(125, 211, 252, .34);
  color: #e0f2fe;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.answer-chip b {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: #166534;
  direction: ltr;
}
.answer-feed-empty {
  color: #94a3b8;
  font-size: 13px;
}
audio.question-media,
audio.intro-media {
  min-height: 74px;
  padding: 16px;
}
.podium-card {
  display: grid;
  grid-template-columns: 58px 1fr auto;
  align-items: center;
  gap: 16px;
}
.podium-card span {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--blue);
  font-size: 28px;
  font-weight: 800;
}
.podium-card strong {
  font-size: clamp(24px, 3vw, 44px);
}
.podium-card em {
  font-style: normal;
  color: #cbd5e1;
  font-size: clamp(18px, 2vw, 28px);
}
.screen.mode-leaderboard {
  background:
    radial-gradient(circle at 50% 10%, rgba(250, 204, 21, .18), transparent 28%),
    radial-gradient(circle at 15% 15%, rgba(56, 189, 248, .14), transparent 24%),
    radial-gradient(circle at 84% 18%, rgba(168, 85, 247, .16), transparent 24%),
    linear-gradient(180deg, #020617, #0f172a 48%, #020617);
}
.screen.mode-leaderboard .screen-layout {
  height: calc(100vh - clamp(16px, 2.2vw, 32px));
}
.screen.mode-leaderboard aside,
.screen.mode-leaderboard .audience-count {
  display: none;
}
.screen.mode-leaderboard .screen-header-line {
  justify-content: center;
  padding-left: 0;
}
.screen.mode-leaderboard .screen-header-line #screenTitle {
  display: none;
}
.screen.mode-leaderboard .screen-question-center {
  grid-template-rows: auto minmax(0, 1fr);
  align-content: stretch;
  gap: clamp(8px, 1.2vh, 14px);
  padding-top: clamp(4px, 1vh, 10px);
}
.screen.mode-leaderboard #screenTimer {
  display: none;
}
.screen.mode-leaderboard h1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 1vw, 18px);
  max-width: min(94vw, 1420px);
  min-height: clamp(48px, 7vh, 72px);
  font-size: clamp(32px, 3.6vw, 58px);
  line-height: 1.05;
  text-align: center;
  animation: leaderboardTitleIn 700ms cubic-bezier(.16, .84, .22, 1) both;
}
.leaderboard-title-mark {
  color: #facc15;
  font-size: .95em;
  font-variation-settings: "FILL" 1, "wght" 700, "GRAD" 0, "opsz" 48;
  filter: drop-shadow(0 0 14px rgba(250, 204, 21, .48));
}
.screen.mode-leaderboard #screenOptions {
  width: min(1420px, 95vw);
  max-height: calc(100vh - clamp(92px, 13vh, 132px));
  align-content: stretch;
  overflow: hidden;
}
.leaderboard-shell {
  position: relative;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: clamp(12px, 1.4vh, 18px);
  align-items: stretch;
  isolation: isolate;
  padding: 0;
}
.leaderboard-shell.is-revealed {
  animation: leaderboardShellReveal 700ms cubic-bezier(.16, .84, .22, 1) both;
}
.leaderboard-reveal {
  min-height: min(62vh, 560px);
  display: grid;
  place-items: center;
}
.leaderboard-reveal-count,
.leaderboard-reveal-callout {
  animation: leaderboardRevealBeat 720ms cubic-bezier(.16, .84, .22, 1) both;
}
.leaderboard-reveal-count {
  width: min(28vw, 260px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(250, 204, 21, .38);
  border-radius: 999px;
  color: #facc15;
  font-size: clamp(90px, 15vw, 210px);
  font-weight: 800;
  background:
    radial-gradient(circle at 35% 24%, rgba(255,255,255,.22), transparent 24%),
    rgba(71, 51, 8, .54);
  box-shadow:
    0 0 0 10px rgba(250, 204, 21, .06),
    0 0 50px rgba(250, 204, 21, .22);
}
.leaderboard-reveal-callout {
  padding: clamp(18px, 2vw, 26px) clamp(28px, 4vw, 56px);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  color: #fff7ed;
  font-size: clamp(34px, 5vw, 74px);
  font-weight: 800;
  background: rgba(15, 23, 42, .72);
  box-shadow: 0 0 38px rgba(250, 204, 21, .16);
}
.leaderboard-atmosphere {
  position: absolute;
  inset: -4% 8% 24%;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 12%, rgba(226, 232, 240, .18), transparent 26%),
    linear-gradient(112deg, transparent 18%, rgba(125, 211, 252, .08) 40%, transparent 55%),
    linear-gradient(68deg, transparent 46%, rgba(255,255,255,.06) 58%, transparent 74%);
  filter: blur(12px);
  animation: leaderboardLights 7s ease-in-out infinite alternate;
}
.leaderboard-podium {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) minmax(0, .92fr);
  gap: clamp(12px, 1.4vw, 22px);
  align-items: stretch;
}
.leader-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: clamp(8px, .8vw, 12px);
  padding: clamp(14px, 1.35vw, 22px);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 20px;
  background:
    radial-gradient(circle at 50% -18%, rgba(125, 211, 252, .12), transparent 35%),
    linear-gradient(180deg, rgba(51, 65, 85, .9), rgba(15, 23, 42, .9));
  box-shadow: 0 18px 42px rgba(2, 6, 23, .34), inset 0 1px 0 rgba(255,255,255,.08);
  animation: leaderboardCardIn 650ms cubic-bezier(.16, .84, .22, 1) both;
}
.leader-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.13), transparent 38%);
  opacity: .68;
}
.leader-card.rank-1 {
  min-height: clamp(250px, 34vh, 360px);
  border-color: rgba(234, 179, 8, .45);
  background:
    radial-gradient(circle at 50% 0, rgba(250, 204, 21, .26), transparent 44%),
    linear-gradient(180deg, rgba(92, 66, 18, .96), rgba(30, 41, 59, .95));
  box-shadow:
    0 0 0 1px rgba(234, 179, 8, .12),
    0 0 42px rgba(234, 179, 8, .2),
    0 30px 70px rgba(2, 6, 23, .5);
  animation-delay: 80ms;
}
.leader-card.rank-2 {
  min-height: clamp(230px, 31vh, 330px);
  border-color: rgba(203, 213, 225, .34);
  animation-delay: 160ms;
}
.leader-card.rank-3 {
  min-height: clamp(230px, 31vh, 330px);
  border-color: rgba(148, 163, 184, .32);
  animation-delay: 220ms;
}
.leader-card.is-empty {
  opacity: 0;
}
.leader-rank {
  min-width: clamp(50px, 4vw, 66px);
  height: clamp(36px, 3.2vw, 48px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 12px;
  border-radius: 999px;
  color: #f8fafc;
  background: rgba(15, 23, 42, .62);
  border: 1px solid rgba(255,255,255,.12);
}
.leader-rank .material-symbols-outlined {
  font-size: clamp(22px, 2.2vw, 32px);
  font-variation-settings: "FILL" 1, "wght" 700, "GRAD" 0, "opsz" 48;
}
.leader-rank em {
  font-size: clamp(16px, 1.4vw, 22px);
  font-style: normal;
  font-weight: 900;
}
.rank-1 .leader-rank {
  color: #fde68a;
  background: rgba(63, 52, 28, .58);
  border-color: rgba(234, 179, 8, .28);
  box-shadow: 0 0 18px rgba(234, 179, 8, .12);
}
.rank-2 .leader-rank {
  color: #e2e8f0;
}
.rank-3 .leader-rank {
  color: #bae6fd;
}
.leader-avatar {
  width: clamp(56px, 4.8vw, 74px);
  height: clamp(56px, 4.8vw, 74px);
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  font-weight: 800;
  font-size: clamp(22px, 2vw, 30px);
  background: linear-gradient(135deg, rgba(14, 165, 233, .82), rgba(71, 85, 105, .92));
}
.rank-1 .leader-avatar {
  width: clamp(70px, 5.8vw, 94px);
  height: clamp(70px, 5.8vw, 94px);
  background: linear-gradient(135deg, #fde68a, #f59e0b);
  color: #422006;
  font-size: clamp(28px, 2.5vw, 40px);
  box-shadow: 0 0 0 8px rgba(250, 204, 21, .1), 0 0 30px rgba(245, 158, 11, .28);
}
.leader-card strong {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  font-size: clamp(20px, 1.9vw, 31px);
  line-height: 1.12;
  text-align: center;
  overflow-wrap: anywhere;
  word-break: normal;
}
.leader-score {
  color: #fff;
  font-size: clamp(26px, 2.3vw, 42px);
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.leader-score-wrap {
  min-width: min(190px, 100%);
  max-width: 100%;
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 7px clamp(12px, 1.1vw, 18px) 9px;
  border-radius: 14px;
  background: rgba(2, 6, 23, .24);
  border: 1px solid rgba(255,255,255,.08);
}
.leader-score-wrap > span,
.leaderboard-tile-score > span {
  color: #94a3b8;
  font-size: clamp(11px, .95vw, 14px);
  font-weight: 700;
}
.rank-1 .leader-score {
  color: #fde68a;
  font-size: clamp(34px, 3.2vw, 56px);
  text-shadow: 0 0 14px rgba(234, 179, 8, .18);
}
.leader-meta {
  max-width: 100%;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.leader-meta span,
.leader-shift {
  padding: 4px 9px;
  border-radius: 999px;
  color: #cbd5e1;
  background: rgba(15, 23, 42, .72);
  border: 1px solid rgba(255,255,255,.1);
  font-size: clamp(11px, .9vw, 14px);
}
.is-up .leader-shift,
.leaderboard-row.is-up b {
  color: #86efac;
}
.leader-card.is-up {
  animation: leaderboardCardRise 760ms cubic-bezier(.16, .84, .22, 1) both;
}
.is-down .leader-shift,
.leaderboard-row.is-down b {
  color: #fca5a5;
}
.is-new .leader-shift,
.leaderboard-row.is-new b {
  color: #fde68a;
}
.leaderboard-next {
  min-height: 0;
  display: grid;
  gap: clamp(8px, 1vh, 12px);
}
.leaderboard-next h2 {
  margin: 0;
  color: #cbd5e1;
  font-size: clamp(16px, 1.4vw, 22px);
  line-height: 1.1;
  text-align: center;
}
.leaderboard-next-grid {
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(8px, .75vw, 12px);
}
.leaderboard-tile {
  min-width: 0;
  min-height: clamp(74px, 10vh, 98px);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: clamp(9px, .85vw, 13px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 16px;
  background:
    radial-gradient(circle at 50% 0, rgba(125, 211, 252, .10), transparent 38%),
    rgba(30, 41, 59, .76);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 12px 26px rgba(2, 6, 23, .22);
  animation: leaderboardRowIn 420ms ease both;
}
.leaderboard-tile-rank {
  color: #fde68a;
  font-size: clamp(13px, .95vw, 16px);
  font-weight: 800;
  direction: ltr;
  white-space: nowrap;
}
.leaderboard-tile strong {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #fff;
  font-size: clamp(13px, .95vw, 16px);
  line-height: 1.15;
  text-align: right;
  overflow-wrap: anywhere;
  overflow: visible;
}
.leaderboard-tile strong i {
  width: clamp(26px, 2vw, 32px);
  height: clamp(26px, 2vw, 32px);
  flex: none;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #e0f2fe;
  font-style: normal;
  font-size: 12px;
  background: rgba(56, 189, 248, .18);
}
.leaderboard-tile-score {
  display: grid;
  justify-items: end;
  gap: 2px;
  padding-top: 2px;
  text-align: center;
  direction: ltr;
}
.leaderboard-tile-score em {
  color: #fff;
  font-size: clamp(18px, 1.35vw, 24px);
  font-style: normal;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.leaderboard-table-wrap {
  margin-top: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 22px;
  background: rgba(15, 23, 42, .72);
  backdrop-filter: blur(12px);
}
.leaderboard-table-head,
.leaderboard-row {
  display: grid;
  grid-template-columns: 80px minmax(180px, 1fr) 120px 100px 110px 90px;
  gap: 12px;
  align-items: center;
}
.leaderboard-table-head {
  padding: 12px 18px 10px;
  color: #94a3b8;
  font-size: 14px;
}
.leaderboard-table {
  max-height: min(24vh, 240px);
  overflow: auto;
}
.leaderboard-row {
  padding: 12px 18px;
  border-top: 1px solid rgba(255,255,255,.08);
  font-size: clamp(16px, 1.4vw, 22px);
  animation: leaderboardRowIn 420ms ease both;
}
.leaderboard-row strong {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.leaderboard-row strong i {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  font-style: normal;
  font-size: 13px;
  background: rgba(56, 189, 248, .18);
}
.leaderboard-row em {
  font-style: normal;
}
.leaderboard-confetti {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.leaderboard-confetti i {
  position: absolute;
  top: 10%;
  left: 50%;
  width: 10px;
  height: 16px;
  border-radius: 999px;
  background: hsl(calc(var(--i) * 24deg), 90%, 62%);
  animation: leaderboardConfetti 1500ms ease-out both;
  animation-delay: calc(var(--i) * 28ms);
}
.leaderboard-shell.new-leader .rank-1 {
  animation: leaderboardLeaderPulse 900ms ease both;
}
@keyframes leaderboardTitleIn {
  from { opacity: 0; transform: translateY(-18px) scale(.96); }
  to { opacity: 1; transform: none; }
}
@keyframes leaderboardCardIn {
  from { opacity: 0; transform: translateY(28px) scale(.96); }
  to { opacity: 1; transform: none; }
}
@keyframes leaderboardCardRise {
  0% { transform: translateY(16px) scale(.98); }
  62% { transform: translateY(-12px) scale(1.03); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes leaderboardRowIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}
@keyframes leaderboardLights {
  from { opacity: .7; transform: scale(1); }
  to { opacity: 1; transform: scale(1.05); }
}
@keyframes leaderboardLeaderPulse {
  0% { transform: translateY(0) scale(1); }
  35% { transform: translateY(-10px) scale(1.02); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes leaderboardRevealBeat {
  from { opacity: 0; transform: scale(.72); filter: blur(10px); }
  62% { opacity: 1; transform: scale(1.08); filter: blur(0); }
  to { opacity: 1; transform: scale(1); filter: blur(0); }
}
@keyframes leaderboardShellReveal {
  from { opacity: 0; transform: translateY(24px) scale(.97); filter: blur(12px); }
  to { opacity: 1; transform: none; filter: blur(0); }
}
@keyframes leaderboardConfetti {
  to {
    opacity: 0;
    transform: translate(calc((var(--i) - 9) * 34px), calc(220px + (var(--i) * 6px))) rotate(calc(var(--i) * 28deg));
  }
}
.celebration-stage {
  position: relative;
  min-height: min(48vh, 460px);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.celebration-card {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 8px;
  justify-items: center;
  padding: clamp(24px, 4vw, 42px) clamp(30px, 5vw, 62px);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 28px;
  background: rgba(15, 23, 42, .5);
  box-shadow: 0 24px 80px rgba(2, 6, 23, .3);
  backdrop-filter: blur(16px);
}
.celebration-card strong {
  font-size: clamp(34px, 5vw, 64px);
}
.celebration-card span {
  color: rgba(255,255,255,.78);
  font-size: clamp(18px, 2vw, 26px);
}
.confetti-rain {
  position: absolute;
  inset: -18% 0 0;
  overflow: hidden;
}
.confetti-rain i {
  position: absolute;
  top: -14%;
  right: calc((var(--i) * 19px) % 100%);
  width: clamp(8px, .8vw, 14px);
  height: clamp(14px, 1.3vw, 24px);
  border-radius: 999px;
  background: hsl(calc(var(--i) * 37deg), 88%, 62%);
  opacity: .92;
  animation: confettiFall calc(2.3s + (var(--i) % 7) * .16s) linear infinite;
  animation-delay: calc((var(--i) % 11) * -.24s);
}

.landing-body {
  min-height: 100vh;
  overflow-x: hidden;
  background:
    linear-gradient(180deg, #eef8ff 0%, #f8fafc 42%, #ffffff 100%);
}

.landing-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 50;
  width: 100%;
  min-height: 102px;
  padding: 10px max(22px, calc((100% - 1240px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, .34);
  background: rgba(255, 255, 255, .88);
  backdrop-filter: blur(18px);
  box-shadow: 0 14px 40px rgba(15, 23, 42, .08);
}

.landing-brand,
.landing-nav {
  display: flex;
  align-items: center;
}

.landing-brand {
  min-width: 122px;
  min-height: 104px;
  justify-content: center;
  gap: 0;
  color: var(--navy);
  font-size: 19px;
  font-weight: 900;
  text-decoration: none;
}

.landing-logo {
  width: 108px;
  height: 108px;
  padding: 5px;
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 40px rgba(37, 99, 235, .2);
  object-fit: contain;
}

.landing-menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(37, 99, 235, .16);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.94));
  box-shadow: 0 12px 28px rgba(15, 23, 42, .1);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.landing-menu-toggle .material-symbols-outlined {
  color: #0f172a;
  font-size: 28px;
  line-height: 1;
  font-variation-settings: "FILL" 0, "wght" 700, "GRAD" 0, "opsz" 32;
}

.landing-menu-toggle .close-icon {
  display: none;
}

.landing-menu-toggle:hover {
  transform: translateY(-1px);
  border-color: rgba(37, 99, 235, .28);
  box-shadow: 0 16px 34px rgba(37, 99, 235, .16);
}

.landing-menu-toggle[aria-expanded="true"] {
  border-color: rgba(20, 184, 166, .34);
  background: linear-gradient(135deg, #eff6ff, #ecfdf5);
}

.landing-menu-toggle[aria-expanded="true"] .menu-icon {
  display: none;
}

.landing-menu-toggle[aria-expanded="true"] .close-icon {
  display: inline-block;
}

.landing-nav {
  gap: 6px;
}

.landing-nav a {
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 8px;
  color: #334155;
  font-weight: 700;
  text-decoration: none;
  transition: background 170ms ease, color 170ms ease;
}

.landing-nav a:hover {
  background: rgba(37, 99, 235, .08);
  color: #1d4ed8;
}

.landing-nav .nav-admin {
  border: 1px solid rgba(37, 99, 235, .18);
  background: transparent;
  color: #1e3a8a;
}

.landing-nav .nav-admin:hover {
  background: rgba(37, 99, 235, .08);
  color: #1d4ed8;
}

.landing-nav .nav-cta {
  padding-inline: 18px;
  background: linear-gradient(135deg, #0ea5e9, #22c55e);
  color: #fff;
  box-shadow: 0 12px 26px rgba(14, 165, 233, .24);
}

.landing-nav .nav-cta:hover {
  background: linear-gradient(135deg, #0284c7, #16a34a);
  color: #fff;
}

.landing-hero {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 126px max(96px, calc((100% - 1160px) / 2)) 70px max(28px, calc((100% - 1240px) / 2));
  display: grid;
  grid-template-columns: minmax(430px, .78fr) minmax(0, 1.22fr);
  align-items: center;
  gap: clamp(36px, 6vw, 96px);
  overflow: hidden;
  background:
    linear-gradient(to left, rgba(6, 95, 150, .82) 0%, rgba(14, 165, 233, .62) 31%, rgba(37, 99, 235, .25) 59%, rgba(248, 250, 252, .2) 100%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(15,23,42,.18)),
    url("/assets/rfgrgcdkk.png") center / cover no-repeat;
}

.hero-content {
  position: relative;
  z-index: 2;
  justify-self: start;
}

.landing-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 160px;
  z-index: -1;
  background: linear-gradient(180deg, transparent, #f7fbff 86%);
}

.hero-glow {
  position: absolute;
  z-index: -1;
  width: 360px;
  height: 360px;
  border-radius: 999px;
  filter: blur(20px);
  opacity: .62;
  animation: floatGlow 8s ease-in-out infinite;
}

.hero-glow-one {
  top: 18%;
  right: -120px;
  background: radial-gradient(circle, rgba(37, 99, 235, .26), transparent 66%);
}

.hero-glow-two {
  bottom: 8%;
  left: -110px;
  background: radial-gradient(circle, rgba(34, 197, 94, .24), transparent 66%);
  animation-delay: -3s;
}

.hero-content h1 {
  max-width: 100%;
  margin: 0;
  color: #f8fbff;
  font-size: 68px;
  line-height: 1.06;
  font-weight: 900;
  text-shadow: 0 9px 28px rgba(15, 23, 42, .4), 0 2px 0 rgba(15, 23, 42, .14);
}

.hero-title-stack {
  width: min(660px, 100%);
  display: grid;
  justify-items: start;
  gap: 0;
}

.hero-kicker {
  width: max-content;
  max-width: 100%;
  margin: 0 0 12px;
  padding: 7px 12px;
  border: 1px solid rgba(14, 165, 233, .16);
  border-radius: 999px;
  background: rgba(14, 165, 233, .08);
  color: #0369a1;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0;
}

.hero-kicker-light {
  margin-bottom: 4px;
  border-color: rgba(255, 255, 255, .4);
  background: rgba(255, 255, 255, .16);
  color: #f0fdfa;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .13);
  backdrop-filter: blur(10px);
}

.hero-line {
  margin: 0;
  font-weight: 900;
  line-height: 1.12;
  white-space: nowrap;
  text-shadow: 0 5px 18px rgba(15, 23, 42, .3);
}

.hero-line-action {
  color: #ffde3b;
  font-size: clamp(30px, 3.4vw, 50px);
}

.hero-line-welcome {
  color: #9cffd7;
  font-size: clamp(24px, 2.55vw, 36px);
}

.hero-actions {
  width: min(720px, 100%);
  margin-top: 28px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(132px, 150px);
  align-items: stretch;
  gap: 12px;
}

.join-card {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 7px;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 26px 65px rgba(15, 23, 42, .16);
  backdrop-filter: blur(10px);
}

.join-input-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(112px, 128px);
  gap: 8px;
}

.join-input-row > * {
  min-width: 0;
}

.join-input-row input {
  min-height: 48px;
  border: 0;
  background: #f8fbff;
  font-size: 17px;
  font-weight: 900;
  direction: ltr;
  text-align: center;
}

.landing-button {
  min-height: 48px;
  padding: 10px 14px;
  font-size: 15px;
  font-weight: 900;
  white-space: nowrap;
}

.join-input-row .landing-button {
  width: 100%;
  padding-inline: 10px;
  overflow: hidden;
}

.create-game-button {
  min-width: 0;
  color: #fff;
  background: linear-gradient(135deg, #111827, #0f766e);
  border: 2px solid rgba(255,255,255,.7);
  box-shadow: 0 22px 50px rgba(15, 23, 42, .24);
}

.hero-trust-row {
  width: min(760px, 100%);
  margin-top: 18px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.hero-trust-row span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 999px;
  background: rgba(15, 23, 42, .22);
  color: #f8fafc;
  font-size: 14px;
  font-weight: 800;
  backdrop-filter: blur(10px);
}

.landing-error {
  min-height: 0;
  max-height: 0;
  overflow: hidden;
  color: #b91c1c;
  font-weight: 800;
  transition: max-height 180ms ease, opacity 180ms ease;
  opacity: 0;
}

.landing-error.show {
  max-height: 48px;
  opacity: 1;
}

.hero-preview {
  min-height: 520px;
  position: relative;
  z-index: 1;
  perspective: 1200px;
}

.hero-dashboard {
  position: absolute;
  top: 48%;
  left: 50%;
  width: min(560px, 92%);
  min-height: 390px;
  padding: 22px;
  display: grid;
  gap: 16px;
  border: 1px solid rgba(255, 255, 255, .56);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(240,249,255,.88));
  box-shadow: 0 38px 110px rgba(15, 23, 42, .24);
  transform: translate(-50%, -50%) rotateY(-9deg) rotateX(5deg);
  backdrop-filter: blur(16px);
}

.hero-dashboard-top,
.hero-dashboard-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.hero-dashboard-top strong {
  color: var(--navy);
  font-size: 19px;
}

.live-pill {
  min-height: 32px;
  padding: 6px 10px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  background: #dcfce7;
  color: #166534;
  font-size: 13px;
  font-weight: 900;
  direction: ltr;
}

.live-pill i {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 6px rgba(34, 197, 94, .16);
}

.hero-question-card {
  padding: 20px;
  border-radius: 8px;
  background:
    linear-gradient(135deg, #0f172a, #075985 58%, #0f766e);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

.hero-question-card span {
  color: #a7f3d0;
  font-weight: 900;
}

.hero-question-card h2 {
  max-width: 430px;
  margin: 10px 0 0;
  font-size: clamp(25px, 2.4vw, 36px);
  line-height: 1.1;
}

.hero-bars {
  display: grid;
  gap: 10px;
}

.hero-bar {
  min-height: 46px;
  padding: 8px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px;
  align-items: center;
  gap: 10px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #fff;
}

.hero-bar span {
  width: var(--bar-width);
  height: 100%;
  min-height: 26px;
  border-radius: 999px;
  transform-origin: right;
  animation: resultBarGrow 900ms ease both;
}

.hero-bar strong {
  color: #0f172a;
  font-size: 20px;
  direction: ltr;
}

.hero-bar-blue span { background: linear-gradient(90deg, #38bdf8, #2563eb); }
.hero-bar-green span { background: linear-gradient(90deg, #86efac, #16a34a); }
.hero-bar-yellow span { background: linear-gradient(90deg, #fde047, #f97316); }

.hero-dashboard-foot span {
  min-height: 36px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #eef6fb;
  color: #0f172a;
  font-weight: 900;
}

.hero-phone {
  position: absolute;
  right: 2%;
  bottom: 3%;
  width: 160px;
  min-height: 270px;
  padding: 18px 14px;
  display: grid;
  align-content: start;
  gap: 12px;
  border: 8px solid #0f172a;
  border-radius: 28px;
  background: #f8fafc;
  box-shadow: 0 26px 70px rgba(15, 23, 42, .24);
  transform: rotate(5deg);
}

.hero-phone span {
  width: 44px;
  height: 5px;
  justify-self: center;
  border-radius: 999px;
  background: #cbd5e1;
}

.hero-phone strong {
  color: #0f172a;
  line-height: 1.15;
  text-align: center;
}

.hero-phone i {
  min-height: 42px;
  border-radius: 8px;
  background: #dbeafe;
}

.hero-phone i:nth-of-type(1) { background: #bfdbfe; }
.hero-phone i:nth-of-type(2) { background: #bbf7d0; }
.hero-phone i:nth-of-type(3) { background: #fed7aa; }

.hero-live-card {
  position: absolute;
  display: grid;
  gap: 3px;
  padding: 14px 18px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 8px;
  background: rgba(255,255,255,.86);
  color: var(--navy);
  box-shadow: 0 28px 70px rgba(15, 23, 42, .18);
  backdrop-filter: blur(12px);
  animation: previewFloat 6s ease-in-out infinite;
}

.hero-live-card strong {
  color: #0f766e;
  font-size: 28px;
  line-height: 1;
}

.hero-live-card span {
  color: #334155;
  font-weight: 800;
}

.hero-live-card-top {
  top: 12%;
  left: 3%;
}

.hero-live-card-bottom {
  right: 14%;
  bottom: 11%;
  animation-delay: -2.5s;
}

.landing-flow {
  width: min(1180px, calc(100% - 56px));
  margin: -28px auto 18px;
  padding: 14px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 24px 70px rgba(15, 23, 42, .11);
  backdrop-filter: blur(14px);
}

.landing-flow div {
  min-height: 74px;
  padding: 12px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border-radius: 8px;
  background:
    linear-gradient(180deg, #ffffff, #f8fafc);
}

.landing-flow strong {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--navy);
  color: #fff;
}

.landing-flow span {
  color: #334155;
  font-weight: 800;
  line-height: 1.25;
}

.game-guide {
  width: 100%;
  margin: 0;
  padding: 96px max(24px, calc((100% - 1280px) / 2)) 82px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 48%, #ffffff 100%);
}

.game-guide h2 {
  margin: 0 auto 82px;
  color: #0f172a;
  text-align: center;
  font-size: clamp(34px, 4.6vw, 64px);
  line-height: 1.08;
  font-weight: 900;
}

.guide-stack {
  display: grid;
  gap: clamp(76px, 9vw, 126px);
}

.guide-row {
  min-height: 430px;
  display: grid;
  grid-template-columns: minmax(300px, 50%) minmax(320px, 1fr);
  grid-template-areas: "image copy";
  align-items: center;
  gap: clamp(26px, 4vw, 58px);
}

.guide-image-right {
  grid-template-columns: minmax(320px, 1fr) minmax(300px, 50%);
  grid-template-areas: "copy image";
}

.guide-row img {
  grid-area: image;
  width: min(100%, 660px);
  max-height: 540px;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 28px 46px rgba(15, 23, 42, .12));
}

.guide-image-left img {
  justify-self: start;
}

.guide-image-right img {
  justify-self: end;
}

.guide-copy {
  grid-area: copy;
  position: relative;
  max-width: 610px;
  justify-self: start;
  display: grid;
  gap: 16px;
  padding: 10px 30px 10px 0;
  color: #0f172a;
}

.guide-image-right .guide-copy {
  justify-self: end;
  padding: 10px 0 10px 30px;
}

.guide-copy::before {
  content: "";
  position: absolute;
  top: 8px;
  right: 0;
  width: 6px;
  height: calc(100% - 16px);
  border-radius: 999px;
  background: linear-gradient(180deg, #2563eb, #14b8a6);
}

.guide-image-right .guide-copy::before {
  right: auto;
  left: 0;
}

.guide-copy span {
  width: max-content;
  padding: 8px 14px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: clamp(16px, 1.45vw, 21px);
  font-weight: 900;
}

.guide-copy p {
  margin: 0;
  font-size: clamp(28px, 3.35vw, 50px);
  line-height: 1.15;
  font-weight: 900;
  text-wrap: balance;
}

.visual-showcase {
  width: 100%;
  margin: 0;
  padding: 76px max(24px, calc((100% - 1280px) / 2)) 46px;
  display: grid;
  gap: 28px;
  background:
    radial-gradient(circle at 12% 8%, rgba(34, 197, 94, .10), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(14, 165, 233, .13), transparent 30%),
    linear-gradient(180deg, #f7fbff 0%, #eef8ff 46%, #f8fafc 100%);
}

.showcase-copy {
  width: min(820px, 100%);
}

.showcase-copy h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(32px, 4.3vw, 58px);
  line-height: 1.08;
  font-weight: 900;
}

.showcase-copy p:not(.hero-kicker) {
  max-width: 620px;
  margin: 14px 0 0;
  color: #475569;
  font-size: 19px;
  line-height: 1.65;
}

.showcase-grid {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(320px, .78fr);
  grid-template-areas:
    "system system"
    "wide phone";
  gap: 20px;
  align-items: stretch;
}

.showcase-shot {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .58);
  border-radius: 8px;
  background: #0f172a;
  box-shadow: 0 30px 90px rgba(15, 23, 42, .16);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.showcase-shot:hover {
  transform: translateY(-3px);
  box-shadow: 0 36px 100px rgba(15, 23, 42, .2);
}

.showcase-shot::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.1);
}

.showcase-shot img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.showcase-shot figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  z-index: 1;
  max-width: 470px;
  padding: 14px 16px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  background: rgba(15, 23, 42, .68);
  color: #fff;
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
}

.showcase-shot figcaption strong {
  font-size: 20px;
  line-height: 1.15;
}

.showcase-shot figcaption span {
  color: #dbeafe;
  font-weight: 700;
  line-height: 1.35;
}

.showcase-shot-wide {
  grid-area: wide;
  aspect-ratio: 16 / 9.4;
}

.showcase-shot-phone {
  grid-area: phone;
  aspect-ratio: 4 / 4.5;
}

.showcase-shot-system {
  grid-area: system;
  aspect-ratio: 16 / 8.2;
}

.landing-section {
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: 76px 28px;
}

.section-intro {
  max-width: 690px;
  margin-bottom: 28px;
}

.section-intro h2,
.landing-cta h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.12;
  font-weight: 900;
}

.steps-grid,
.benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.landing-card,
.benefit-item {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.88));
  box-shadow: 0 20px 55px rgba(15, 23, 42, .08);
}

.landing-card {
  min-height: 220px;
  padding: 22px;
  display: grid;
  align-content: start;
  gap: 12px;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.landing-card:nth-child(2) span { background: linear-gradient(135deg, #2563eb, #06b6d4); }
.landing-card:nth-child(3) span { background: linear-gradient(135deg, #f97316, #ef4444); }
.landing-card:nth-child(4) span { background: linear-gradient(135deg, #0f172a, #0ea5e9); }

.landing-card:hover,
.benefit-item:hover {
  transform: translateY(-2px);
  border-color: rgba(6, 182, 212, .24);
  box-shadow: 0 24px 65px rgba(15, 23, 42, .12);
}

.landing-card span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #0ea5e9, #22c55e);
  color: #fff;
  font-size: 28px;
  font-weight: 900;
}

.landing-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 24px;
}

.landing-card p,
.landing-cta p,
.benefit-item span {
  margin: 0;
  color: #64748b;
  line-height: 1.6;
}

.benefits-band {
  width: 100%;
  max-width: none;
  padding-inline: max(28px, calc((100% - 1180px) / 2));
  background:
    linear-gradient(90deg, rgba(255,255,255,.72), rgba(240, 253, 250, .76)),
    linear-gradient(135deg, rgba(37, 99, 235, .08), rgba(34, 197, 94, .09));
}

.benefit-item {
  min-height: 160px;
  padding: 22px;
  display: grid;
  align-content: start;
  gap: 10px;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.benefit-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #ecfeff;
  color: #0e7490;
  font-weight: 900;
  direction: ltr;
}

.benefit-item strong {
  color: #0f172a;
  font-size: 20px;
}

.seo-content-section {
  background:
    radial-gradient(circle at 18% 10%, rgba(20, 184, 166, .12), transparent 30%),
    linear-gradient(180deg, #f8fafc, #eef8ff);
  border-top: 1px solid rgba(148, 163, 184, .18);
  border-bottom: 1px solid rgba(148, 163, 184, .18);
}

.seo-faq-wrap {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(230px, .42fr) minmax(0, 1fr);
  gap: clamp(22px, 4vw, 58px);
  align-items: start;
}

.seo-faq-intro {
  margin: 0;
  text-align: start;
  position: sticky;
  top: 96px;
}

.seo-faq-intro h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(32px, 4vw, 58px);
  line-height: 1.05;
}

.seo-faq-list {
  display: grid;
  gap: 12px;
}

.seo-faq-item {
  overflow: hidden;
  border: 1px solid rgba(37, 99, 235, .14);
  border-radius: 8px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 16px 42px rgba(15, 23, 42, .08);
}

.seo-faq-item[open] {
  border-color: rgba(20, 184, 166, .32);
  box-shadow: 0 22px 56px rgba(14, 116, 144, .13);
}

.seo-faq-item summary {
  min-height: 72px;
  cursor: pointer;
  user-select: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 14px;
  align-items: center;
  padding: clamp(16px, 2vw, 22px);
  color: #0f172a;
  font-size: clamp(19px, 1.7vw, 26px);
  font-weight: 900;
  list-style: none;
}

.seo-faq-item summary::-webkit-details-marker {
  display: none;
}

.seo-faq-item summary:focus-visible {
  outline: 3px solid rgba(20, 184, 166, .28);
  outline-offset: -6px;
}

.seo-faq-item summary i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #eff6ff;
  border: 1px solid rgba(37, 99, 235, .14);
}

.seo-faq-item summary i::before,
.seo-faq-item summary i::after {
  content: "";
  grid-area: 1 / 1;
  width: 15px;
  height: 2px;
  border-radius: 99px;
  background: #2563eb;
  transition: transform 180ms ease;
}

.seo-faq-item summary i::after {
  transform: rotate(90deg);
}

.seo-faq-item[open] summary i {
  background: #ecfeff;
  border-color: rgba(20, 184, 166, .24);
}

.seo-faq-item[open] summary i::before,
.seo-faq-item[open] summary i::after {
  background: #0f766e;
}

.seo-faq-item[open] summary i::after {
  transform: rotate(0deg);
}

.seo-faq-answer {
  padding: 0 clamp(16px, 2vw, 22px) clamp(18px, 2.4vw, 26px);
}

.seo-faq-answer p {
  max-width: 820px;
  margin: 0;
  color: #475569;
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.85;
}

.seo-faq-benefits {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.seo-faq-benefits li {
  padding: 11px 13px;
  border-radius: 8px;
  color: #0f172a;
  background: #f8fafc;
  border: 1px solid rgba(37, 99, 235, .12);
  font-weight: 700;
}

.content-page-body {
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, .94), rgba(239, 246, 255, .9)),
    radial-gradient(circle at 82% 18%, rgba(37, 99, 235, .2), transparent 30%),
    radial-gradient(circle at 18% 32%, rgba(6, 182, 212, .16), transparent 28%),
    url("/assets/audience-screen-mockup.png") center top / cover fixed;
}

.content-page {
  padding: 124px max(22px, calc((100% - 980px) / 2)) 72px;
}

.content-hero {
  display: grid;
  gap: 12px;
  margin-bottom: 28px;
}

.content-hero h1 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1.08;
}

.content-hero p {
  max-width: 760px;
  margin: 0;
  color: #475569;
  font-size: clamp(17px, 1.5vw, 22px);
  line-height: 1.7;
}

.content-article {
  display: grid;
  gap: 14px;
  padding: clamp(22px, 3vw, 36px);
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 22px 60px rgba(15, 23, 42, .08);
}

.content-article h2 {
  margin: 12px 0 0;
  color: #0f172a;
  font-size: clamp(22px, 2.2vw, 34px);
}

.content-article h2:first-child {
  margin-top: 0;
}

.content-article p {
  margin: 0;
  color: #475569;
  font-size: 18px;
  line-height: 1.8;
}

.contact-page {
  width: min(1120px, calc(100% - 44px));
  margin: 0 auto;
  padding-top: 124px;
  padding-right: 0;
  padding-left: 0;
}

.contact-hero {
  text-align: center;
  justify-items: center;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(37, 99, 235, .12);
  border-radius: 8px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 24px 70px rgba(15, 23, 42, .09);
  backdrop-filter: blur(10px);
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.contact-method {
  min-width: 0;
  min-height: 190px;
  padding: clamp(20px, 3vw, 30px);
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 12px;
  border: 1px solid rgba(37, 99, 235, .14);
  border-radius: 8px;
  color: #0f172a;
  background:
    radial-gradient(circle at 20% 0, rgba(20, 184, 166, .13), transparent 36%),
    rgba(255, 255, 255, .9);
  text-decoration: none;
  box-shadow: 0 22px 58px rgba(15, 23, 42, .09);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.contact-method:hover {
  transform: translateY(-3px);
  border-color: rgba(20, 184, 166, .36);
  box-shadow: 0 26px 68px rgba(14, 116, 144, .14);
}

.contact-method .material-symbols-outlined {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #0f766e;
  background: #ecfeff;
  font-size: 30px;
  font-variation-settings: "FILL" 0, "wght" 700, "GRAD" 0, "opsz" 40;
}

.contact-method strong {
  font-size: clamp(22px, 2vw, 28px);
}

.contact-method p {
  margin: 0;
  color: #475569;
  font-size: 17px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.contact-copy {
  margin-top: 10px;
}

.contact-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 18px;
  align-items: stretch;
  margin-top: 10px;
}

.contact-form,
.contact-copy {
  min-width: 0;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 22px 60px rgba(15, 23, 42, .08);
}

.contact-form {
  display: grid;
  gap: 20px;
  padding: clamp(22px, 3vw, 34px);
}

.contact-form-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.contact-form-head .material-symbols-outlined {
  width: 52px;
  height: 52px;
  flex: none;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #1d4ed8;
  background: #eff6ff;
  font-size: 30px;
}

.contact-form-head h2,
.contact-copy h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(24px, 2.4vw, 34px);
}

.contact-form-head p {
  margin: 6px 0 0;
  color: #64748b;
  font-size: 17px;
  line-height: 1.55;
}

.contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.contact-form-grid textarea {
  min-height: 150px;
}

.contact-form-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.contact-form-status {
  min-width: min(320px, 100%);
  margin: 0;
  color: #475569;
  font-weight: 800;
}

.contact-form-status[data-type="success"] {
  color: #15803d;
}

.contact-form-status[data-type="error"] {
  color: #b91c1c;
}

.contact-copy {
  margin-top: 0;
  padding: clamp(22px, 3vw, 34px);
  display: grid;
  align-content: center;
  gap: 16px;
}

.contact-copy p {
  margin: 0;
  color: #475569;
  font-size: 18px;
  line-height: 1.75;
}

.landing-cta {
  width: min(900px, calc(100% - 36px));
  margin: 64px auto 88px;
  padding: clamp(30px, 5vw, 56px);
  display: grid;
  justify-items: center;
  gap: 16px;
  text-align: center;
  border: 1px solid rgba(6, 182, 212, .18);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .95), rgba(14, 116, 144, .9)),
    linear-gradient(135deg, #ffffff, #f0fdfa);
  box-shadow: 0 30px 80px rgba(15, 23, 42, .12);
}

.landing-cta h2,
.landing-cta p {
  color: #fff;
}

.landing-cta p {
  max-width: 620px;
  color: #dbeafe;
}

.cta-logo {
  width: 92px;
  height: 92px;
  object-fit: contain;
}

.cta-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

.landing-cta .ghost {
  color: #fff;
  border-color: rgba(255,255,255,.36);
  background: rgba(255,255,255,.08);
}

.landing-cta .ghost:hover {
  background: rgba(255,255,255,.16);
}

.site-footer {
  width: 100%;
  margin: 18px 0 0;
  padding: 22px 20px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border-top: 1px solid rgba(148, 163, 184, .22);
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,246,255,.9));
  box-shadow: 0 -10px 34px rgba(15, 23, 42, .06);
  color: #475569;
  text-align: center;
}

.footer-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.site-footer strong {
  color: #0f172a;
  font-size: 19px;
  font-weight: 900;
  cursor: default;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.site-footer span {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(37, 99, 235, .16);
  border-radius: 50%;
  background: rgba(255, 255, 255, .72);
  color: #2563eb;
  font-size: 15px;
  font-weight: 800;
}

.footer-secret-admin:focus-visible,
.footer-social a:focus-visible {
  outline: 3px solid rgba(20, 184, 166, .36);
  outline-offset: 4px;
}

.footer-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}

.footer-social a {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(37, 99, 235, .14);
  border-radius: 8px;
  background: rgba(255, 255, 255, .82);
  color: #0f172a;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
  transition: transform 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.footer-social a:hover {
  transform: translateY(-2px);
  border-color: rgba(37, 99, 235, .34);
  color: #2563eb;
  box-shadow: 0 14px 28px rgba(37, 99, 235, .14);
}

.footer-social svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.participant-footer {
  border-color: rgba(148, 163, 184, .22);
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .92), rgba(30, 41, 59, .88));
  box-shadow: 0 -12px 36px rgba(0, 0, 0, .18);
  color: #cbd5e1;
}

.participant-footer strong {
  color: #f8fafc;
}

.participant-footer span {
  border-color: rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .08);
  color: #93c5fd;
}

.participant-footer .footer-social a {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .08);
  color: #f8fafc;
  box-shadow: none;
}

.participant-footer .footer-social a:hover {
  border-color: rgba(147, 197, 253, .42);
  color: #93c5fd;
}

.reveal-on-scroll {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 640ms ease, transform 640ms cubic-bezier(.2, .8, .2, 1);
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes floatGlow {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(20px, -18px, 0) scale(1.08); }
}

@keyframes previewFloat {
  0%, 100% { transform: rotateY(-8deg) rotateX(4deg) translateY(0); }
  50% { transform: rotateY(-5deg) rotateX(3deg) translateY(-14px); }
}

@keyframes mobileMenuIn {
  from { opacity: 0; transform: translateY(-8px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes barGrow {
  from { transform: scaleX(.18); opacity: .4; }
  to { transform: scaleX(1); opacity: 1; }
}
@keyframes rise {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes stageEnter {
  from { opacity: 0; transform: translateY(-16px) scale(.99); filter: blur(4px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
@keyframes optionEnter {
  from { opacity: 0; transform: translateY(18px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes resultReveal {
  from {
    opacity: 0;
    transform: translateY(22px) scale(.985);
    filter: blur(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
@keyframes resultBarGrow {
  from {
    transform: scaleX(.02);
    opacity: .45;
  }
  to {
    transform: scaleX(1);
    opacity: 1;
  }
}
@keyframes pollMeterGrow {
  from {
    transform: scaleY(0);
    opacity: .5;
  }
  to {
    transform: scaleY(1);
    opacity: 1;
  }
}
@keyframes participantQuestionEnter {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes countdownPulse {
  0% { transform: scale(.96); filter: brightness(1); }
  50% { transform: scale(1.04); filter: brightness(1.16); }
  100% { transform: scale(.96); filter: brightness(1); }
}
@keyframes countdownTextPop {
  0% {
    opacity: 0;
    transform: translateY(18px) scale(.88);
    filter: blur(10px);
  }
  45% {
    opacity: 1;
    transform: translateY(0) scale(1.08);
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
@keyframes confettiFall {
  from { transform: translate3d(0, -10vh, 0) rotate(0deg); }
  to { transform: translate3d(calc(((var(--i) % 5) - 2) * 22px), 118vh, 0) rotate(540deg); }
}

.system-admin-body {
  min-height: 100vh;
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, .14), transparent 34%),
    linear-gradient(180deg, #f8fafc, #eef6fb);
}

.system-login {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 22px;
}

.system-login-card {
  width: min(440px, 100%);
  padding: 28px;
  display: grid;
  gap: 18px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 30px 90px rgba(15, 23, 42, .12);
  backdrop-filter: blur(14px);
}

.system-login-card h1 {
  margin: 0;
  color: var(--navy);
  font-size: 36px;
  line-height: 1.05;
}

.system-login-card p {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.system-admin {
  min-height: 100vh;
}

.system-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 74px;
  padding: 14px max(22px, calc((100% - 1320px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid rgba(226, 232, 240, .88);
  background: rgba(255,255,255,.9);
  box-shadow: 0 14px 40px rgba(15, 23, 42, .08);
  backdrop-filter: blur(16px);
}

.system-topbar strong {
  display: block;
  color: var(--navy);
  font-size: 22px;
}

.system-topbar span {
  color: var(--muted);
  font-size: 14px;
}

.system-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.system-content {
  width: min(1320px, 100%);
  margin: 0 auto;
  padding: 28px 22px 70px;
  display: grid;
  gap: 22px;
}

.system-hero {
  min-height: 250px;
  padding: clamp(26px, 4vw, 44px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
  align-items: end;
  gap: 28px;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .94), rgba(7, 89, 133, .9)),
    linear-gradient(135deg, #ffffff, #eef6fb);
  color: #fff;
  box-shadow: 0 30px 90px rgba(15, 23, 42, .14);
}

.system-hero h1 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(34px, 4.5vw, 58px);
  line-height: 1.06;
}

.system-hero p:not(.hero-kicker) {
  max-width: 660px;
  margin: 14px 0 0;
  color: #dbeafe;
  font-size: 18px;
  line-height: 1.65;
}

.system-search {
  padding: 16px;
  display: grid;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 8px;
  background: rgba(255,255,255,.1);
}

.system-search label {
  color: #e0f2fe;
}

.system-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.system-panel {
  padding: 22px;
  display: grid;
  gap: 16px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 20px 55px rgba(15, 23, 42, .08);
}

.system-table-wrap {
  overflow-x: auto;
}

.system-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
}

.system-table.compact-system-table {
  min-width: 760px;
}

.system-table th,
.system-table td {
  padding: 13px 12px;
  border-bottom: 1px solid var(--line);
  text-align: right;
  vertical-align: middle;
}

.system-table th {
  color: #475569;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.system-table td {
  color: var(--navy);
  font-weight: 700;
}

.system-activity-row {
  cursor: pointer;
}

.system-activity-row:hover td {
  background: #f8fafc;
}

.system-table td small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-weight: 500;
}

.system-user-cell {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.system-user-cell img,
.system-user-cell > span {
  width: 42px;
  height: 42px;
  border-radius: 999px;
}

.system-user-cell img {
  object-fit: cover;
}

.system-user-cell > span {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #0ea5e9, #22c55e);
  color: #fff;
  font-weight: 900;
}

.system-code {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  direction: ltr;
  font-weight: 900;
}

.system-links {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.system-password-form {
  min-width: 230px;
  display: grid;
  grid-template-columns: minmax(120px, 1fr) auto;
  align-items: start;
  gap: 8px;
}

.system-password-form input {
  min-height: 38px;
  padding: 8px 10px;
}

.system-password-form button {
  min-height: 38px;
  padding: 8px 12px;
}

.system-password-form small {
  grid-column: 1 / -1;
}

.system-links a {
  min-height: 32px;
  padding: 6px 10px;
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
  background: #f1f5f9;
  color: #0f172a;
  font-weight: 800;
  text-decoration: none;
}

.system-empty {
  padding: 26px !important;
  color: var(--muted) !important;
  text-align: center !important;
}

@media (max-width: 980px) {
  .landing-hero {
    grid-template-columns: 1fr;
    padding-top: 112px;
    background-position: center;
  }
  .hero-content {
    justify-self: center;
  }
  .hero-title-stack {
    width: min(720px, 100%);
    justify-items: center;
    text-align: center;
  }
  .hero-content h1 {
    font-size: 58px;
  }
  .hero-actions {
    grid-template-columns: minmax(0, 1fr) minmax(150px, 180px);
  }
  .hero-preview {
    min-height: 430px;
  }
  .hero-dashboard {
    width: min(620px, 100%);
    min-height: 350px;
    transform: translate(-50%, -50%) rotateY(-4deg) rotateX(3deg);
  }
  .hero-phone {
    right: auto;
    left: 4%;
    bottom: 0;
  }
  .landing-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0;
  }
  .game-guide {
    padding: 74px 28px 58px;
  }
  .game-guide h2 {
    margin-bottom: 56px;
  }
  .guide-stack {
    gap: 78px;
  }
  .guide-row,
  .guide-image-right {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-areas:
      "image"
      "copy";
    gap: 28px;
  }
  .guide-row img,
  .guide-image-left img,
  .guide-image-right img {
    width: min(100%, 680px);
    max-height: 440px;
    justify-self: center;
  }
  .guide-copy {
    max-width: 720px;
    justify-self: center;
    padding: 0 22px 0 0;
    text-align: center;
  }
  .guide-image-right .guide-copy {
    justify-self: center;
    padding: 0 22px 0 0;
  }
  .guide-copy::before,
  .guide-image-right .guide-copy::before {
    right: 0;
    left: auto;
  }
  .guide-copy span {
    justify-self: center;
  }
  .showcase-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "system"
      "wide"
      "phone";
  }
  .showcase-shot-phone {
    aspect-ratio: 16 / 10.5;
  }
  .showcase-shot-system {
    aspect-ratio: 16 / 9.2;
  }
  .create-game-button {
    width: 100%;
    height: auto;
  }
  .steps-grid,
  .benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-shell { grid-template-columns: 1fr; }
  .mobile-only { display: inline-flex; }
  .activity-share-panel {
    align-items: stretch;
    flex-direction: column;
  }
  .join-link-chip,
  .share-actions {
    justify-content: center;
  }
  .sidebar {
    position: fixed;
    right: 0;
    top: 0;
    z-index: 40;
    width: 280px;
    transform: translateX(100%);
    transition: transform 220ms ease;
  }
  .sidebar.open { transform: translateX(0); }
  .two-col, .editor-grid, .live-grid, .live-console-grid, .screen-layout { grid-template-columns: 1fr; }
  .live-console-grid {
    grid-template-areas:
      "preview"
      "main";
  }
  .live-preview-panel {
    position: static;
  }
  .live-actions-grid,
  .live-metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .questions-list-panel {
    position: static;
    max-height: none;
  }
  .question-kind-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .screen-layout {
    height: calc(100vh - 32px);
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 12px;
  }
  .screen-header-line { padding-left: 0; }
  .screen-header-line #screenTitle {
    max-width: 100%;
  }
  .screen aside.panel {
    position: static;
    width: auto;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    padding: 10px;
  }
  .screen aside.panel .qr,
  .screen aside.panel #joinUrl {
    display: none;
  }
  .screen aside.panel .stat { min-height: 62px; }
  .screen h1 { font-size: clamp(32px, 7vw, 58px); }
  .screen-option {
    min-height: 50px;
    padding: 8px 12px;
    font-size: clamp(22px, 4.6vw, 34px);
  }
  .screen #screenOptions { width: min(760px, 94%); }
  .screen #screenOptions.poll-options-list {
    width: min(820px, 92vw);
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
    gap: clamp(8px, 1.3vh, 14px);
  }
  .screen.reveal-results #screenOptions,
  .screen.question-time-over #screenOptions {
    width: min(900px, 98vw);
    max-height: min(72vh, calc(100vh - 126px));
    gap: clamp(3px, calc(16px / var(--option-count, 4)), 7px);
    padding-inline: 4px;
    transform: translateY(clamp(10px, 3vh, 30px));
  }
  .screen.reveal-results h1,
  .screen.question-time-over h1 {
    font-size: clamp(30px, 7vw, 58px);
    line-height: 1.02;
  }
  .screen.reveal-results .bar-row,
  .screen.question-time-over .bar-row {
    min-height: clamp(42px, calc(310px / var(--option-count, 4)), 64px);
    grid-template-columns: minmax(150px, 42%) minmax(120px, 1fr) minmax(48px, 64px);
    padding: clamp(5px, calc(18px / var(--option-count, 4)), 9px) 10px;
    border-radius: 14px;
  }
  .screen.reveal-results .bar-row h2,
  .screen.question-time-over .bar-row h2 {
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 8px;
    font-size: clamp(13px, calc(5.2vw / var(--option-count, 4)), 20px);
    line-height: 1.08;
  }
  .screen.reveal-results .bar-row h2 span,
  .screen.question-time-over .bar-row h2 span {
    width: 24px;
    height: 26px;
    font-size: 13px;
  }
  .screen.reveal-results .bar-row strong,
  .screen.question-time-over .bar-row strong {
    font-size: clamp(17px, calc(7vw / var(--option-count, 4)), 26px);
  }
  .screen.reveal-results .bar-row .bar,
  .screen.question-time-over .bar-row .bar {
    height: clamp(14px, calc(58px / var(--option-count, 4)), 22px);
  }
  .screen.reveal-results #screenOptions.poll-results-grid,
  .screen.question-time-over #screenOptions.poll-results-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  }
  .screen.reveal-results .bar-row.poll-result,
  .screen.question-time-over .bar-row.poll-result {
    min-height: clamp(68px, calc(290px / var(--option-count, 4)), 112px);
    padding: clamp(8px, calc(22px / var(--option-count, 4)), 14px);
  }
  .screen #screenOptions.poll-options-list .poll-option,
  .screen.mode-question:not(.question-time-over) #screenOptions.poll-options-list .poll-option {
    min-height: clamp(62px, calc(360px / var(--option-count, 4)), 78px);
  }
  .screen #screenOptions.poll-options-list .poll-content {
    padding-inline: 16px;
  }
  .screen #screenOptions.poll-options-list .poll-answer em {
    font-size: clamp(18px, calc(7vw / var(--option-count, 4)), 30px);
  }
  .stat-grid, .small-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topbar { align-items: flex-start; }
  .system-hero {
    grid-template-columns: 1fr;
  }
  .system-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .billing-plans,
  .pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .participant-body,
  .participant-body.participant-scroll-locked {
    height: 100dvh;
    overflow: hidden;
    overscroll-behavior: none;
    touch-action: manipulation;
  }
  .participant-body.participant-scroll-media {
    height: auto;
    min-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: auto;
  }
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }
  body {
    -webkit-text-size-adjust: 100%;
  }
  button,
  .button,
  input,
  select,
  textarea {
    font-size: 16px;
  }
  .panel,
  .auth-card {
    padding: 16px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
  }
  .title {
    font-size: 21px;
  }
  .activity-share-panel {
    padding: 10px;
  }
  .share-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .share-action,
  .join-link-chip {
    width: 100%;
  }
  .copy-feedback {
    min-width: 0;
    text-align: center;
  }
  .landing-header {
    top: 0;
    width: 100%;
    min-height: 72px;
    padding: 8px 12px;
    display: flex;
    justify-content: flex-start;
    border-bottom-color: rgba(226, 232, 240, .86);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 10px 26px rgba(15, 23, 42, .08);
  }
  .landing-brand {
    min-width: 68px;
    min-height: 64px;
    justify-content: flex-start;
  }
  .landing-logo {
    width: 64px;
    height: 64px;
    padding: 4px;
    box-shadow: 0 10px 24px rgba(37, 99, 235, .14);
  }
  .landing-menu-toggle {
    display: inline-grid;
    place-content: center;
    width: 46px;
    height: 46px;
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    border-color: rgba(15, 23, 42, .08);
    background: #fff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
  }
  .landing-menu-toggle:hover {
    transform: translateY(-50%);
  }
  .landing-nav {
    position: fixed;
    top: 82px;
    right: 12px;
    left: 12px;
    display: none;
    max-height: calc(100vh - 98px);
    overflow-y: auto;
    padding: 10px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,250,252,.98));
    box-shadow: 0 18px 48px rgba(15, 23, 42, .16);
    backdrop-filter: blur(18px);
  }
  .landing-nav.open {
    display: grid;
    gap: 8px;
    animation: mobileMenuIn 180ms ease both;
  }
  .landing-nav::-webkit-scrollbar { display: none; }
  .landing-nav a {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 14px;
    border: 1px solid rgba(15, 23, 42, .05);
    background: #fff;
    color: #0f172a;
    font-size: 15px;
    font-weight: 900;
    text-align: center;
    box-shadow: none;
  }
  .landing-nav .nav-cta {
    min-height: 54px;
    background: linear-gradient(135deg, #2563eb, #14b8a6);
    box-shadow: 0 16px 34px rgba(37, 99, 235, .22);
  }
  .landing-hero {
    min-height: auto;
    padding: 94px 18px 48px;
    display: block;
    background:
      linear-gradient(180deg, rgba(6, 95, 150, .82) 0%, rgba(14, 165, 233, .5) 44%, rgba(15, 23, 42, .16) 100%),
      url("/assets/hero-live-clickers-3d.png") center top / cover no-repeat;
  }
  .hero-content {
    justify-self: center;
  }
  .hero-title-stack {
    justify-items: center;
    text-align: center;
  }
  .hero-kicker {
    justify-self: center;
  }
  .join-input-row {
    grid-template-columns: 1fr;
  }
  .hero-actions {
    grid-template-columns: 1fr;
    margin-top: 22px;
    gap: 10px;
  }
  .landing-button,
  .join-input-row input {
    width: 100%;
  }
  .join-card {
    padding: 9px;
    border-color: rgba(255,255,255,.7);
    box-shadow: 0 20px 46px rgba(15, 23, 42, .18);
  }
  .join-input-row input,
  .landing-button {
    min-height: 52px;
    border-radius: 8px;
  }
  .hero-content h1 {
    font-size: clamp(38px, 11vw, 48px);
    line-height: 1.06;
  }
  .hero-trust-row {
    justify-content: center;
    gap: 8px;
  }
  .hero-trust-row span {
    flex: 1 1 100%;
    justify-content: center;
    min-height: 38px;
    background: rgba(255,255,255,.18);
  }
  .hero-preview {
    display: none;
  }
  .landing-flow {
    width: calc(100% - 36px);
    grid-template-columns: 1fr;
    margin: -10px auto 10px;
    padding: 10px;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .1);
  }
  .landing-flow div {
    min-height: 66px;
  }
  .game-guide {
    padding: 58px 18px 42px;
  }
  .game-guide h2 {
    margin-bottom: 42px;
  }
  .guide-stack {
    gap: 58px;
  }
  .guide-row,
  .guide-image-right {
    gap: 20px;
  }
  .guide-row img,
  .guide-image-left img,
  .guide-image-right img {
    max-height: 310px;
    filter: drop-shadow(0 18px 30px rgba(15, 23, 42, .11));
  }
  .guide-copy {
    gap: 10px;
    padding: 0 18px 0 0;
  }
  .guide-image-right .guide-copy {
    padding: 0 18px 0 0;
  }
  .guide-copy p {
    font-size: clamp(24px, 8vw, 34px);
  }
  .visual-showcase {
    padding: 44px 18px 12px;
  }
  .showcase-copy p:not(.hero-kicker) {
    font-size: 17px;
  }
  .showcase-shot figcaption {
    right: 10px;
    bottom: 10px;
    left: 10px;
    padding: 11px 12px;
  }
  .showcase-shot figcaption strong {
    font-size: 17px;
  }
  .showcase-shot figcaption span {
    font-size: 13px;
  }
  .showcase-shot-wide,
  .showcase-shot-phone,
  .showcase-shot-system {
    aspect-ratio: 1 / 1;
  }
  .steps-grid,
  .benefits-grid {
    grid-template-columns: 1fr;
  }
  .landing-section {
    padding: 54px 18px;
  }
  .benefits-band {
    padding-inline: 18px;
  }
  .landing-cta {
    margin: 42px auto 58px;
  }
  .cta-actions {
    width: 100%;
  }
  .system-topbar {
    align-items: flex-start;
    flex-direction: column;
    padding: 12px 16px;
  }
  .system-actions,
  .system-actions button {
    width: 100%;
  }
  .system-content {
    padding: 18px 14px 46px;
  }
  .system-hero {
    padding: 22px;
  }
  .system-search {
    padding: 12px;
  }
  .system-stats {
    grid-template-columns: 1fr;
  }
  .billing-status,
  .billing-note {
    align-items: flex-start;
    flex-direction: column;
  }
  .billing-plans,
  .pricing-grid {
    grid-template-columns: 1fr;
  }
  .credit-card-grid {
    grid-template-columns: 1fr;
  }
  .credit-card-grid label:nth-child(1),
  .credit-card-grid label:nth-child(2) {
    grid-column: auto;
  }
  .pricing-page {
    padding: 96px 14px 42px;
  }
  .pricing-panel {
    padding: 16px;
  }
  .site-footer,
  .package-countdown {
    align-items: flex-start;
    flex-direction: column;
  }
  .site-footer {
    width: 100%;
  }
  .footer-social {
    width: 100%;
  }
  .system-panel {
    padding: 16px;
  }
  .content {
    padding: 10px;
    gap: 12px;
  }
  .topbar {
    position: sticky;
    top: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    padding: 8px 10px 10px;
    gap: 8px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
  }
  .topbar > div:nth-child(2) {
    min-width: 0;
    order: -2;
  }
  .topbar .brand {
    min-width: 0;
    justify-content: start;
  }
  .header-logo {
    width: 58px;
    height: 58px;
    max-height: none;
    padding: 4px;
    box-shadow: none;
  }
  .top-actions {
    width: 100%;
    justify-content: stretch;
  }
  .topbar > .top-actions:not(.top-actions-main) {
    width: auto;
    justify-self: end;
    display: flex;
    gap: 8px;
  }
  .top-actions-main {
    grid-column: 1 / -1;
    order: 3;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .top-actions > * {
    flex: 1 1 0;
    min-width: 0;
    padding-inline: 10px;
    white-space: normal;
  }
  .top-actions #logoutBtn {
    display: none;
  }
  .mobile-only {
    flex: 0 0 42px;
    width: 42px;
    min-height: 42px;
    order: -1;
    background: #0f172a;
  }
  .sidebar {
    width: min(300px, 86vw);
    padding: 18px;
    gap: 18px;
    box-shadow: -22px 0 60px rgba(15, 23, 42, .28);
  }
  .side-brand {
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
  }
  .side-nav {
    gap: 6px;
  }
  .nav-link {
    min-height: 44px;
    padding: 10px 12px;
  }
  .mobile-sidebar-logout {
    width: 100%;
    min-height: 44px;
    display: inline-flex;
    color: #f8fafc;
    border-color: rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .07);
  }
  .form-grid, .stat-grid, .small-stats, .result-row { grid-template-columns: 1fr; }
  .section {
    scroll-margin-top: 132px;
  }
  .section .muted {
    line-height: 1.45;
  }
  .stat {
    min-height: auto;
    padding: 12px 14px;
    border-radius: 8px;
  }
  .stat strong {
    margin-top: 4px;
    font-size: 24px;
  }
  .panel {
    border-color: rgba(226, 232, 240, .9);
  }
  .section-head,
  .action-row {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }
  .action-row > *,
  .section-head > * {
    width: 100%;
  }
  .activity-card {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }
  .activity-delete {
    width: 100%;
  }
  .activity-select {
    gap: 8px;
  }
  .activity-share-panel {
    border-radius: 8px;
    background: #f8fafc;
    box-shadow: none;
  }
  .join-link-chip,
  .share-action {
    min-height: 42px;
    border-radius: 8px;
  }
  .create-modal {
    align-items: stretch;
    padding: 10px;
  }
  .modal-panel {
    width: 100%;
    max-height: calc(100dvh - 20px);
    padding: 16px;
  }
  .questions-list-panel,
  .question-builder-panel {
    padding: 12px;
  }
  .questions-workspace {
    gap: 12px;
  }
  .editor-grid {
    gap: 12px;
  }
  .questions-list-panel .section-head.compact,
  .builder-head {
    gap: 8px;
  }
  .compact-add-btn {
    width: 100%;
  }
  .question-report-row { grid-template-columns: 1fr; }
  .question-report-row span { white-space: normal; }
  .question-kind-grid { grid-template-columns: 1fr; }
  .question-kind-card {
    min-height: auto;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    padding: 12px;
  }
  .question-kind-card small { grid-column: 2; }
  .option-row {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .correct-toggle,
  .option-remove {
    grid-column: 2;
    justify-self: start;
  }
  .question-main {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 11px;
  }
  .question-copy {
    grid-column: auto;
    grid-row: auto;
  }
  .question-item { grid-template-columns: 1fr; }
  .question-actions { grid-template-columns: 1fr; }
  .question-copy strong {
    white-space: normal;
  }
  .question-details {
    padding: 11px;
  }
  .question-meta {
    margin-top: 4px;
  }
  .form-section {
    padding: 14px;
  }
  .friendly-form {
    gap: 12px;
  }
  .admin-contact-grid,
  .contact-grid {
    grid-template-columns: 1fr;
  }
  .phone-admin-grid {
    grid-template-columns: 1fr;
  }
  .contact-panel,
  .contact-form-grid {
    grid-template-columns: 1fr;
  }
  .contact-action-card,
  .contact-method {
    min-height: auto;
  }
  .advanced-settings summary {
    align-items: flex-start;
    flex-direction: column;
    padding: 12px;
  }
  .advanced-settings summary::after {
    position: absolute;
    top: 12px;
    left: 12px;
  }
  .advanced-settings {
    position: relative;
  }
  .advanced-settings-grid {
    grid-template-columns: 1fr;
    padding: 12px;
  }
  .option-builder {
    gap: 10px;
  }
  input,
  select,
  textarea {
    border-radius: 8px;
  }
  .package-countdown strong {
    white-space: normal;
  }
  .participant {
    height: 100dvh;
    min-height: 100dvh;
    place-items: stretch;
    padding: 8px;
    overflow: hidden;
  }
  .participant .panel {
    width: 100%;
    max-height: calc(100dvh - 16px);
    min-height: calc(100dvh - 16px);
    align-content: start;
    padding: 16px;
    overflow: hidden;
  }
  .participant-body.participant-scroll-locked .participant .panel {
    gap: 8px;
  }
  .participant-body.participant-scroll-locked .participant-logo {
    width: 58px;
    max-height: 46px;
  }
  .participant-body.participant-scroll-locked .participant .title.xl {
    font-size: clamp(20px, 6vw, 28px);
  }
  .participant-body.participant-scroll-locked #questionArea {
    gap: 8px;
  }
  .participant-body.participant-scroll-media .participant {
    height: auto;
    overflow: auto;
  }
  .participant-body.participant-scroll-media .participant .panel {
    max-height: none;
    overflow: visible;
  }
  .participant-card {
    align-items: stretch;
    flex-direction: column;
  }
  .participant-card button {
    width: 100%;
  }
  .answer-btn {
    min-height: clamp(42px, 10dvh, 54px);
    max-height: none;
    line-height: 1.25;
  }
  #questionArea {
    overflow: hidden;
  }
  .participant-body.participant-scroll-media #questionArea {
    overflow: visible;
  }
  .live-control-head {
    min-height: 0;
    align-items: flex-start;
    flex-direction: column;
    padding: 18px;
  }
  .live-actions-grid,
  .live-metrics-grid {
    grid-template-columns: 1fr;
  }
  .live-admin-shell {
    padding: 10px;
  }
  .live-admin-topbar {
    position: static;
    align-items: stretch;
    flex-direction: column-reverse;
  }
  .live-admin-topbar > div,
  .live-admin-topbar > div:last-child {
    width: 100%;
    justify-items: stretch;
  }
  .live-admin-topbar .button,
  .live-admin-topbar button {
    flex: 1;
  }
  .live-preview-panel iframe {
    height: min(58vh, 420px);
  }
  .screen { padding: 12px; }
  .screen-layout { height: calc(100vh - 24px); }
  .screen-stage {
    gap: 10px;
    grid-template-rows: auto minmax(96px, 1fr);
  }
  .screen-header-line { gap: 8px; }
  .audience-count span { display: none; }
  .audience-count strong {
    min-width: 40px;
    min-height: 40px;
    font-size: 24px;
  }
  .screen #screenTimer {
    width: 68px;
    height: 68px;
    font-size: 25px;
  }
  .screen #screenOptions {
    max-height: calc(100vh - 210px);
  }
  .screen.reveal-results .screen-layout,
  .screen.question-time-over .screen-layout {
    height: calc(100svh - 16px);
  }
  .screen.reveal-results .screen-stage,
  .screen.question-time-over .screen-stage {
    gap: 4px;
    grid-template-rows: minmax(0, 1fr);
  }
  .screen.reveal-results .screen-question-center,
  .screen.question-time-over .screen-question-center {
    gap: clamp(3px, 1vh, 8px);
    min-height: 0;
  }
  .screen.reveal-results h1,
  .screen.question-time-over h1 {
    font-size: clamp(24px, 8vw, 42px);
    max-width: 98vw;
  }
  .screen.reveal-results #screenTimer,
  .screen.question-time-over #screenTimer {
    width: 44px;
    height: 44px;
    font-size: 18px;
  }
  .screen.reveal-results #screenOptions,
  .screen.question-time-over #screenOptions {
    width: 99vw;
    max-height: min(74svh, calc(100svh - 94px));
    gap: clamp(2px, calc(12px / var(--option-count, 4)), 5px);
    padding: 2px 3px 5px;
    transform: translateY(clamp(6px, 2vh, 18px));
  }
  .screen #screenOptions.poll-options-list {
    width: min(96vw, 620px);
    max-height: min(72svh, calc(100svh - 112px));
    grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
    gap: clamp(6px, 1.2vh, 10px);
    padding-inline: 0;
    transform: none;
  }
  .screen.reveal-results .question-media,
  .screen.question-time-over .question-media {
    max-height: clamp(70px, 18svh, 150px);
  }
  .screen.reveal-results .bar-row,
  .screen.question-time-over .bar-row {
    min-height: clamp(34px, calc(250px / var(--option-count, 4)), 52px);
    grid-template-columns: minmax(0, 1fr) minmax(40px, 52px);
    gap: 5px 7px;
    padding: clamp(3px, calc(13px / var(--option-count, 4)), 6px) 8px;
    border-radius: 10px;
  }
  .screen.reveal-results .bar-row h2,
  .screen.question-time-over .bar-row h2 {
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 6px;
    font-size: clamp(11px, calc(10.8vw / var(--option-count, 4)), 17px);
    line-height: 1.02;
  }
  .screen.reveal-results .bar-row h2 span,
  .screen.question-time-over .bar-row h2 span {
    width: 19px;
    height: 21px;
    font-size: 11px;
  }
  .screen.reveal-results .bar-row .bar,
  .screen.question-time-over .bar-row .bar {
    grid-column: 1 / -1;
    height: clamp(10px, calc(42px / var(--option-count, 4)), 16px);
  }
  .screen.reveal-results .bar-row strong,
  .screen.question-time-over .bar-row strong {
    font-size: clamp(13px, calc(12vw / var(--option-count, 4)), 20px);
  }
  .screen.reveal-results #screenOptions.poll-results-grid,
  .screen.question-time-over #screenOptions.poll-results-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
  }
  .screen.reveal-results .bar-row.poll-result,
  .screen.question-time-over .bar-row.poll-result {
    min-height: clamp(56px, calc(230px / var(--option-count, 4)), 86px);
    padding: clamp(5px, calc(16px / var(--option-count, 4)), 9px);
  }
  .screen #screenOptions.poll-options-list .poll-option,
  .screen.mode-question:not(.question-time-over) #screenOptions.poll-options-list .poll-option {
    min-height: clamp(56px, calc(280px / var(--option-count, 4)), 70px);
    border-radius: 14px;
  }
  .screen #screenOptions.poll-options-list .poll-content {
    gap: 8px;
    padding-inline: 10px;
  }
  .screen #screenOptions.poll-options-list .poll-answer {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 8px;
  }
  .screen #screenOptions.poll-options-list .poll-answer span {
    width: 28px;
    height: 28px;
    border-radius: 9px;
    font-size: 15px;
  }
  .screen #screenOptions.poll-options-list .poll-answer em {
    font-size: clamp(15px, calc(10vw / var(--option-count, 4)), 22px);
    line-height: 1.08;
  }
  .screen.mode-question .question-media {
    max-height: 24vh;
  }
  .countdown-number {
    font-size: 120px;
  }
  .screen .bar-row { grid-template-columns: 1fr 48px; }
  .screen .bar-row .bar { grid-column: 1 / -1; }
  .screen aside.panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .screen aside.panel .stat:last-child { display: none; }
  .join-code { font-size: 30px; }
}

.live-admin-shell {
  width: min(1480px, 100%);
  padding: clamp(10px, 1.2vw, 16px);
  gap: 14px;
}

.live-control {
  gap: 14px;
}

.live-control-head {
  min-height: 112px;
  padding: clamp(16px, 2vw, 24px);
}

.live-control-head .title {
  font-size: clamp(24px, 2.6vw, 36px);
}

.live-control-head .muted {
  max-width: 620px;
  font-size: 14px;
}

.live-console-grid {
  grid-template-columns: minmax(430px, .92fr) minmax(520px, 1.08fr);
  gap: 14px;
}

.live-console-main {
  gap: 14px;
}

.live-preview-panel {
  top: 86px;
  gap: 10px;
  padding: 14px;
}

.live-preview-panel iframe {
  aspect-ratio: 16 / 9;
  height: auto;
  max-height: calc(100vh - 150px);
}

.live-question {
  padding: 16px;
}

.live-question #liveQuestionText {
  margin: 10px 0;
  font-size: clamp(20px, 2vw, 30px);
  line-height: 1.2;
}

.live-question .timer {
  width: 74px;
  height: 74px;
  margin-bottom: 12px;
  font-size: 28px;
}

.live-actions-grid {
  grid-template-columns: repeat(auto-fit, minmax(142px, 1fr));
  gap: 8px;
}

.live-actions-grid button {
  min-height: 42px;
  padding: 8px 10px;
  font-size: 14px;
}

.live-metrics-grid {
  grid-template-columns: repeat(4, minmax(108px, 1fr));
  gap: 10px;
}

.live-metrics-grid .stat {
  min-height: 78px;
  padding: 12px;
}

.live-metrics-grid .stat strong {
  font-size: 26px;
}

.live-admin-page .result-row {
  grid-template-columns: minmax(130px, 220px) minmax(0, 1fr) 52px;
  gap: 10px;
}

.live-admin-page .panel.stack {
  gap: 12px;
}

.live-admin-screen-page {
  min-height: 100vh;
  padding: 0;
  overflow: hidden;
  background: #020617;
}
.live-admin-screen-page.launch-video-active .live-admin-screen-top,
.live-admin-screen-page.launch-video-active .live-admin-command-center,
.live-admin-screen-page.launch-video-active .live-admin-control-bar {
  display: none;
}

.live-admin-screen-shell {
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.live-admin-screen-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: #020617;
}

.live-admin-screen-top {
  position: absolute;
  z-index: 3;
  top: 14px;
  right: 14px;
  left: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  pointer-events: none;
}

.live-admin-screen-top > * {
  pointer-events: auto;
}

.live-admin-screen-top > div {
  min-width: 0;
  padding: 9px 14px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 16px;
  color: #fff;
  background: rgba(15, 23, 42, .62);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .24);
  backdrop-filter: blur(16px);
}

.live-admin-screen-top strong,
.live-admin-screen-top span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-admin-screen-top strong {
  font-size: 16px;
}

.live-admin-screen-top span {
  color: rgba(255, 255, 255, .78);
  font-size: 12px;
}

.live-admin-screen-top .button {
  border-color: rgba(255, 255, 255, .32);
  color: #fff;
  background: rgba(15, 23, 42, .72);
  box-shadow: 0 14px 35px rgba(15, 23, 42, .24);
  backdrop-filter: blur(16px);
}

.live-admin-screen-top .secondary {
  color: #0f172a;
  background: rgba(255, 255, 255, .9);
}
.live-admin-command-center {
  position: absolute;
  z-index: 3;
  top: 82px;
  right: 16px;
  width: min(250px, calc(100vw - 32px));
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  pointer-events: none;
}
.live-command-card {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 9px 12px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 18px;
  color: #fff;
  background: rgba(15, 23, 42, .68);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .22);
  backdrop-filter: blur(16px);
}
.live-command-card span,
.live-command-card small {
  overflow: hidden;
  color: rgba(255, 255, 255, .72);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-command-card strong {
  overflow: hidden;
  color: #fff;
  font-size: clamp(18px, 1.55vw, 24px);
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-command-card small {
  font-size: 12px;
}
.live-command-card:nth-child(n+4) {
  display: none;
}
.live-admin-command-center.is-expanded .live-command-card {
  display: grid;
}
.live-command-card.pending-card strong,
.live-command-card.pending-card small {
  white-space: normal;
}
.live-command-card.pending-card strong {
  max-height: 2.45em;
  font-size: clamp(15px, 1.25vw, 19px);
  line-height: 1.2;
}
.live-command-toggle {
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid rgba(255, 255, 255, .24);
  color: #fff;
  background: rgba(15, 23, 42, .68);
  backdrop-filter: blur(16px);
  pointer-events: auto;
}
.poll-details-float {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid rgba(125, 211, 252, .38);
  color: #082f49;
  background: linear-gradient(135deg, #a5f3fc, #fde68a);
  font-weight: 900;
  pointer-events: auto;
}
.poll-details-float em {
  font-style: normal;
}
.live-inline-results {
  grid-column: 1 / -1;
  max-height: min(34vh, 320px);
  overflow: auto;
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  background: rgba(255,255,255,.06);
}
.live-inline-results h3,
.live-inline-results .result-overview {
  display: none;
}
.live-inline-results .result-row {
  grid-template-columns: minmax(130px, 220px) minmax(0, 1fr) 52px;
}
.poll-result-participants {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.poll-result-participants em {
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(56, 189, 248, .16);
  color: #e0f2fe;
  font-style: normal;
  font-size: 13px;
}
.poll-result-participants small {
  color: rgba(255,255,255,.62);
}

.live-admin-control-bar {
  position: absolute;
  z-index: 4;
  right: 16px;
  bottom: 16px;
  left: 16px;
  display: grid;
  grid-template-columns: minmax(220px, .52fr) minmax(190px, .36fr) minmax(0, 1.12fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 18px;
  background: rgba(15, 23, 42, .82);
  box-shadow: 0 24px 70px rgba(2, 6, 23, .42);
  backdrop-filter: blur(18px);
}

.live-admin-control-status {
  min-width: 0;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.live-admin-control-status strong {
  min-width: 0;
  overflow: hidden;
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-admin-control-status .timer {
  width: 42px;
  height: 42px;
  border-color: rgba(255, 255, 255, .36);
  color: #fff;
  background: rgba(255, 255, 255, .12);
  font-size: 18px;
}

.live-next-question {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 14px;
  background: rgba(255, 255, 255, .08);
}

.live-next-question .status-pill {
  width: max-content;
  min-height: 24px;
  padding: 3px 9px;
  font-size: 12px;
}

.live-next-question strong,
.live-next-question small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-next-question strong {
  color: #fff;
  font-size: 15px;
  line-height: 1.2;
}

.live-next-question small {
  color: #cbd5e1;
  font-size: 12px;
}

.live-next-question.is-empty {
  opacity: .72;
}

.live-next-question.was-activated {
  border-color: rgba(251, 191, 36, .38);
  background: rgba(251, 191, 36, .12);
}

.live-next-question.was-activated .status-pill {
  background: #fef3c7;
  color: #92400e;
}

.live-package-countdown {
  flex: 0 0 auto;
  min-width: max-content;
  padding: 9px 12px;
  border-color: rgba(125, 211, 252, .28);
  background: rgba(15, 23, 42, .74);
  color: #dbeafe;
}

.live-package-countdown span,
.live-package-countdown small {
  color: #93c5fd;
  font-size: 12px;
}

.live-package-countdown strong {
  color: #fff;
  font-size: 20px;
  letter-spacing: .02em;
  direction: ltr;
  white-space: nowrap;
}

.live-admin-screen-top .live-package-countdown span,
.live-admin-screen-top .live-package-countdown small,
.live-admin-screen-top .live-package-countdown strong {
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

.live-admin-control-bar .live-actions-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  overflow: visible;
}
.live-admin-control-bar .live-actions-grid button {
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 10px 24px rgba(2, 6, 23, .18);
}
.live-admin-control-bar .live-actions-grid .primary {
  background: linear-gradient(135deg, #2563eb, #0ea5e9);
}
.live-admin-control-bar .live-actions-grid .secondary {
  color: #fff;
  background: linear-gradient(135deg, #475569, #334155);
}
.live-admin-control-bar .live-actions-grid .ghost {
  color: #e2e8f0;
  background: linear-gradient(135deg, rgba(71, 85, 105, .92), rgba(30, 41, 59, .92));
}
.live-admin-control-bar #openGatesBtn {
  background: linear-gradient(135deg, #0f766e, #14b8a6);
}
.live-admin-control-bar #activateFirstBtn {
  background: linear-gradient(135deg, #7c3aed, #a855f7);
}
.live-admin-control-bar #nextQuestionBtn {
  background: linear-gradient(135deg, #0284c7, #38bdf8);
}
.live-admin-control-bar #prevQuestionBtn {
  background: linear-gradient(135deg, #2563eb, #6366f1);
}
.live-admin-control-bar #topThreeBtn {
  background: linear-gradient(135deg, #d97706, #f59e0b);
}
.live-admin-control-bar #applauseBtn {
  background: linear-gradient(135deg, #db2777, #f472b6);
}
.live-admin-control-bar #resetScreenBtn {
  background: linear-gradient(135deg, #1f2937, #475569);
}
.live-admin-control-bar #stopBtn {
  background: linear-gradient(135deg, #ea580c, #f97316);
}
.live-admin-control-bar #revealBtn {
  background: linear-gradient(135deg, #16a34a, #22c55e);
}
.live-admin-control-bar .live-actions-grid button {
  flex: 0 0 auto;
  min-width: 128px;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  white-space: nowrap;
  border-radius: 16px;
  font-weight: 800;
}
.live-admin-control-bar .live-actions-grid button em {
  font-style: normal;
}
.live-admin-control-bar .live-actions-grid .material-symbols-outlined {
  font-size: 21px;
  line-height: 1;
  font-variation-settings:
    "FILL" 0,
    "wght" 500,
    "GRAD" 0,
    "opsz" 24;
}
.live-admin-control-bar .live-actions-grid .primary .material-symbols-outlined,
.live-admin-control-bar .live-actions-grid .warn .material-symbols-outlined,
.live-admin-control-bar .live-actions-grid .success .material-symbols-outlined {
  font-variation-settings:
    "FILL" 1,
    "wght" 600,
    "GRAD" 0,
    "opsz" 24;
}
.live-admin-control-bar .live-actions-grid .flow-start {
  min-width: 148px;
}
.live-admin-control-bar .live-actions-grid .utility-action {
  opacity: .9;
}

.live-admin-control-bar #liveActionMsg {
  grid-column: 1 / -1;
  min-height: 0;
}

.live-admin-control-bar #liveActionMsg:empty {
  display: none;
}

.live-admin-control-bar .notice {
  margin: 0;
  padding: 8px 12px;
  color: #dbeafe;
  background: rgba(37, 99, 235, .2);
  border-color: rgba(147, 197, 253, .42);
}

.live-admin-control-bar .notice.error {
  color: #fee2e2;
  background: rgba(239, 68, 68, .2);
  border-color: rgba(252, 165, 165, .5);
}

.live-admin-hidden-data {
  display: none;
}

.screen {
  padding: clamp(10px, 1.35vw, 20px);
}

.screen-layout {
  height: calc(100vh - clamp(20px, 2.7vw, 40px));
  gap: clamp(10px, 1.3vw, 16px);
}

.screen-stage {
  padding: clamp(12px, 1.8vw, 24px);
  gap: clamp(8px, 1.2vh, 14px);
}

.screen-header-line {
  padding-left: 252px;
  gap: 10px;
}

.screen-header-line #screenTitle {
  min-height: 36px;
  padding: 7px 12px;
  font-size: 14px;
}

.audience-count {
  padding: 6px 10px;
}

.audience-count strong {
  min-width: 38px;
  min-height: 38px;
  font-size: 22px;
}

.screen aside.panel {
  width: 238px;
  gap: 8px;
  padding: 12px;
  border-radius: 14px;
}

.screen aside.panel .stat {
  min-height: 62px;
  padding: 10px;
}

.screen .stat strong {
  font-size: 22px;
}

.join-code {
  font-size: 31px;
}

.qr {
  width: 142px;
  border-width: 6px;
}

.screen h1 {
  max-width: min(94%, 980px);
  font-size: clamp(34px, 4.5vw, 64px);
  line-height: 1.06;
}

.screen-question-center {
  gap: clamp(8px, 1.5vh, 16px);
}

.screen #screenTimer {
  width: 92px;
  height: 92px;
  font-size: 36px;
}

.screen #screenOptions {
  width: min(980px, 92%);
  max-height: calc(100vh - 235px);
  gap: clamp(4px, calc(18px / var(--option-count, 4)), 8px);
}

.screen-option,
.screen.mode-question:not(.question-time-over) .screen-option {
  min-height: clamp(44px, calc(420px / var(--option-count, 4)), 74px);
  padding: clamp(5px, calc(20px / var(--option-count, 4)), 8px) 14px;
  border-radius: 14px;
  font-size: clamp(16px, calc(8.8vw / var(--option-count, 4)), 32px);
}

.screen-option h2 {
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  line-height: 1.12;
}

.screen-option h2 span {
  width: 30px;
  height: 32px;
}

.screen.reveal-results #screenOptions,
.screen.question-time-over #screenOptions {
  width: min(1120px, 96vw);
  max-height: min(72vh, calc(100vh - 126px));
  transform: translateY(clamp(14px, 3.5vh, 42px));
}

.screen.question-time-over h1 {
  font-size: clamp(44px, 7vw, 108px);
}

.screen.question-time-over.reveal-results .screen-question-center {
  padding-top: clamp(36px, 8vh, 96px);
}

.screen.question-time-over.reveal-results #screenOptions {
  max-height: min(72vh, 760px);
  padding-top: clamp(14px, 2.6vh, 30px);
}

.screen.many-results.reveal-results #screenOptions,
.screen.many-results.question-time-over #screenOptions,
.screen.many-results.question-time-over.reveal-results #screenOptions {
  max-height: calc(100vh - 96px);
  align-content: start;
  overflow: hidden;
  padding-top: 0;
  transform: none;
}

.screen.time-over-notice #screenTimer {
  display: none;
}

.screen.answer-locked #screenTimer {
  opacity: .72;
  filter: saturate(.75);
}

.screen-typewriter {
  display: inline-block;
}

.screen-typewriter span {
  opacity: 0;
  display: inline-block;
  animation: typewriterGlyph 42ms steps(1, end) forwards;
  animation-delay: calc(var(--char-index) * 28ms);
}

.screen .answer-option-enter {
  opacity: 0;
  transform: translateY(26px);
  animation: answerOptionRollIn 360ms cubic-bezier(.16, .84, .22, 1) forwards;
  animation-delay: calc(180ms + (var(--option-index) * 90ms));
  will-change: opacity, transform;
}

.screen.answer-locked .screen-option h2 {
  color: #dbeafe;
}

@keyframes typewriterGlyph {
  to {
    opacity: 1;
  }
}

@keyframes answerOptionRollIn {
  from {
    opacity: 0;
    transform: translateY(26px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (min-width: 1024px) {
  .admin-shell {
    grid-template-columns: 252px minmax(0, 1fr);
  }

  .content {
    width: min(1500px, 100%);
    padding: 30px 34px;
  }

  .two-col {
    grid-template-columns: minmax(320px, 390px) minmax(0, 1fr);
    align-items: start;
  }

  .editor-grid {
    display: grid;
    grid-template-columns: minmax(310px, 380px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
  }

  .questions-list-panel {
    position: sticky;
    top: 92px;
    max-height: calc(100vh - 116px);
    overflow: auto;
  }

  .question-builder-panel {
    min-width: 0;
  }

  .question-kind-grid {
    grid-template-columns: repeat(5, minmax(110px, 1fr));
  }

  .form-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

  .form-grid .wide,
  .wide {
    grid-column: 1 / -1;
  }

  .participant {
    padding: clamp(18px, 3vw, 34px);
  }

  .participant .panel {
    width: min(760px, calc(100vw - 68px));
    max-height: calc(100vh - 68px);
    padding: 26px;
    gap: 14px;
  }

  .participant .title.xl {
    font-size: clamp(28px, 2.5vw, 42px);
  }

  .answer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .answer-btn {
    min-height: 68px;
    max-height: 96px;
    font-size: 18px;
  }

  .live-admin-screen-top {
    right: 22px;
    left: 22px;
  }

  .live-admin-command-center {
    top: 92px;
    right: 22px;
    width: 280px;
  }

  .live-admin-control-bar {
    right: 22px;
    bottom: 22px;
    left: 22px;
    grid-template-columns: minmax(270px, .5fr) minmax(240px, .35fr) minmax(520px, 1.15fr);
    align-items: stretch;
  }

  .live-admin-control-status,
  .live-next-question {
    align-content: center;
  }

  .live-admin-control-bar .live-actions-grid {
    justify-content: flex-end;
  }

  .live-admin-control-bar .live-actions-grid button {
    min-width: 118px;
    min-height: 50px;
  }

  .screen {
    padding: clamp(16px, 1.8vw, 30px);
  }

  .screen-layout {
    height: calc(100vh - clamp(32px, 3.6vw, 60px));
  }

  .screen-stage {
    max-width: 1680px;
    margin: 0 auto;
  }

  .screen h1 {
    max-width: min(1180px, 92vw);
    font-size: clamp(44px, 4.8vw, 86px);
  }

  .screen #screenOptions {
    width: min(1120px, 90vw);
  }
}

@media (min-width: 1280px) {
  .live-admin-control-bar .live-actions-grid button {
    min-width: 126px;
  }

  .screen aside.panel {
    width: 260px;
  }

  .screen-header-line {
    padding-left: 276px;
  }
}

@media (min-width: 1600px) {
  .content {
    width: min(1680px, 100%);
  }

  .live-admin-command-center {
    width: 310px;
  }

  .live-admin-control-bar {
    grid-template-columns: minmax(310px, .48fr) minmax(280px, .34fr) minmax(650px, 1.18fr);
  }

  .live-admin-control-bar .live-actions-grid button {
    min-width: 136px;
  }
}

@media (max-width: 1180px) {
  .live-console-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "preview"
      "main";
  }
  .live-preview-panel {
    position: static;
  }
  .live-preview-panel iframe {
    max-height: min(54vh, 520px);
  }
  .live-metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .seo-faq-wrap {
    grid-template-columns: 1fr;
    width: min(100% - 32px, 760px);
  }

  .seo-faq-intro {
    position: static;
    text-align: center;
  }

  .seo-faq-benefits {
    grid-template-columns: 1fr;
  }

  .screen.mode-leaderboard .screen-layout {
    height: auto;
    min-height: calc(100svh - 20px);
  }
  .screen.mode-leaderboard #screenOptions {
    width: 100%;
    max-height: none;
    overflow: visible;
  }
  .leaderboard-shell {
    grid-template-rows: auto auto;
    gap: 18px;
  }
  .leaderboard-podium {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .leader-card.rank-1 { order: 1; }
  .leader-card.rank-2 { order: 2; }
  .leader-card.rank-3 { order: 3; }
  .leader-card.rank-1,
  .leader-card.rank-2,
  .leader-card.rank-3 {
    min-height: auto;
    margin-top: 0;
    padding: 16px;
    grid-template-columns: none;
    justify-items: center;
    align-items: center;
    text-align: center;
  }
  .leader-card strong {
    text-align: center;
  }
  .leader-meta {
    justify-content: center;
  }
  .leaderboard-next-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .leaderboard-table-head,
  .leaderboard-row {
    grid-template-columns: 54px minmax(140px, 1fr) 76px 68px 76px 58px;
    gap: 8px;
  }
  .live-admin-screen-top {
    align-items: stretch;
  }
  .live-admin-screen-top > div {
    flex: 1;
  }
  .live-admin-control-bar {
    grid-template-columns: 1fr;
  }
  .live-admin-control-status {
    grid-template-columns: auto auto minmax(0, 1fr) auto;
  }
  .screen-header-line {
    padding-left: 0;
  }
  .screen-layout {
    grid-template-rows: minmax(0, 1fr) auto;
  }
  .screen aside.panel {
    position: static;
    width: auto;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
  }
  .screen aside.panel .qr,
  .screen aside.panel #joinUrl {
    display: none;
  }
  .screen #screenOptions {
    max-height: calc(100vh - 218px);
  }
}

@media (max-width: 640px) {
  .content-page {
    padding: 72px 16px 52px;
  }

  .content-article {
    padding: 18px;
  }

  .screen.mode-leaderboard {
    overflow: auto;
  }
  .screen.mode-leaderboard h1 {
    min-height: 44px;
    font-size: clamp(26px, 7vw, 38px);
  }
  .leader-card.rank-1,
  .leader-card.rank-2,
  .leader-card.rank-3 {
    grid-template-columns: none;
  }
  .leader-card .leader-avatar {
    display: grid;
  }
  .leader-card .leader-score-wrap,
  .leader-card .leader-meta {
    justify-items: center;
    justify-content: center;
  }
  .leader-card strong {
    font-size: clamp(20px, 6vw, 28px);
  }
  .leader-score-wrap {
    min-width: 0;
  }
  .leaderboard-table-head {
    display: none;
  }
  .leaderboard-next-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .leaderboard-tile {
    min-height: 66px;
    border-radius: 16px;
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
  .leaderboard-tile-score {
    justify-items: end;
    text-align: left;
  }
  .leaderboard-row {
    grid-template-columns: 48px minmax(120px, 1fr) 72px;
  }
  .leaderboard-row span:nth-child(4),
  .leaderboard-row span:nth-child(5),
  .leaderboard-row b {
    display: none;
  }
  .live-admin-screen-top {
    top: 8px;
    right: 8px;
    left: 8px;
    gap: 8px;
  }
  .live-admin-screen-top .button {
    padding: 8px 10px;
    font-size: 12px;
  }
  .live-admin-screen-top > div {
    padding: 8px 10px;
  }
  .live-admin-command-center {
    top: 72px;
    right: 8px;
    width: min(220px, calc(100vw - 16px));
    gap: 8px;
  }
  .live-command-card {
    padding: 9px 10px;
  }
  .live-command-card strong {
    font-size: 18px;
  }
  .live-admin-control-bar {
    right: 8px;
    bottom: 8px;
    left: 8px;
    padding: 10px;
    border-radius: 14px;
  }
  .live-admin-control-status {
    grid-template-columns: 1fr auto;
  }
  .live-admin-control-status .status-pill:nth-child(2) {
    display: none;
  }
  .live-admin-control-status strong {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .live-admin-control-bar .live-actions-grid button {
    min-width: 106px;
    min-height: 40px;
    font-size: 13px;
  }
  .live-preview-panel iframe {
    max-height: 360px;
  }
  .live-metrics-grid {
    grid-template-columns: 1fr;
  }
  .screen h1 {
    font-size: clamp(27px, 8vw, 42px);
  }
  .screen-option,
  .screen.mode-question:not(.question-time-over) .screen-option {
    min-height: 44px;
    font-size: clamp(16px, 5.5vw, 25px);
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 1180px) {
  .questions-workspace {
    gap: 14px;
  }

  .editor-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .questions-list-panel {
    position: static;
    max-height: none;
    overflow: visible;
  }

  .question-list {
    max-height: none;
  }

  .question-kind-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .question-builder-panel {
    min-width: 0;
  }

  .admin-contact-grid,
  .contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .contact-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .contact-page {
    width: 100%;
    padding-right: 16px;
    padding-left: 16px;
  }

  .contact-grid,
  .contact-panel,
  .contact-form-grid {
    grid-template-columns: 1fr;
  }

  .contact-form-head,
  .contact-form-actions {
    align-items: stretch;
    flex-direction: column;
  }
}

/* Modern landing refresh */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.landing-body {
  background: #f8fafc;
  color: #0f172a;
}

.landing-header {
  min-height: 84px;
  border-bottom-color: rgba(226, 232, 240, .76);
  background: rgba(248, 250, 252, .9);
}

.landing-brand { min-height: 72px; }

.landing-logo {
  width: 82px;
  height: 82px;
  box-shadow: 0 16px 42px rgba(37, 99, 235, .18), 0 0 34px rgba(124, 58, 237, .12);
}

.landing-nav a:hover {
  background: rgba(37, 99, 235, .08);
  color: #2563eb;
}

.landing-nav .nav-cta,
.landing-body .button.primary,
.landing-body .landing-button.primary {
  background: linear-gradient(135deg, #2563eb, #06b6d4);
  box-shadow: 0 16px 34px rgba(37, 99, 235, .24), 0 0 28px rgba(6, 182, 212, .16);
}

.landing-nav .nav-cta:hover,
.landing-body .button.primary:hover {
  background: linear-gradient(135deg, #1d4ed8, #0891b2);
}

.tech-hero {
  min-height: 100vh;
  padding-top: 120px;
  background:
    linear-gradient(135deg, rgba(2, 6, 23, .78) 0%, rgba(15, 23, 42, .58) 44%, rgba(23, 37, 84, .42) 100%),
    radial-gradient(circle at 72% 20%, rgba(37, 99, 235, .48), transparent 24%),
    radial-gradient(circle at 28% 28%, rgba(124, 58, 237, .42), transparent 26%),
    radial-gradient(circle at 46% 78%, rgba(6, 182, 212, .24), transparent 28%),
    url("/assets/rfgrgcdkk.png") center / cover no-repeat;
}

.tech-hero::after { background: linear-gradient(180deg, transparent, #f8fafc 86%); }

.hero-brand-mark {
  width: 118px;
  height: 118px;
  object-fit: contain;
  margin-bottom: 16px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  box-shadow: 0 0 68px rgba(6, 182, 212, .42), 0 0 110px rgba(124, 58, 237, .28);
}

.hero-subtitle {
  max-width: 640px;
  margin: 18px 0 0;
  color: #dbeafe;
  font-size: clamp(19px, 2vw, 25px);
  line-height: 1.55;
  font-weight: 700;
}

.hero-cta-actions {
  width: min(520px, 100%);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hero-join-card {
  width: min(520px, 100%);
  margin-top: 14px;
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .2);
  box-shadow: none;
}

.hero-join-card input { background: rgba(255, 255, 255, .92); }

.create-game-button {
  background: linear-gradient(135deg, #2563eb, #7c3aed);
  border: 0;
}

.demo-button,
.pricing-preview-actions .secondary {
  border: 1px solid rgba(37, 99, 235, .18);
  background: #fff;
  color: #2563eb;
}

.landing-button {
  position: relative;
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.landing-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 44px rgba(37, 99, 235, .22), 0 0 30px rgba(6, 182, 212, .18);
}

.hero-orbit,
.hero-ghost-chart {
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.hero-orbit {
  width: 92px;
  height: 92px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  background: rgba(255, 255, 255, .04);
  box-shadow: inset 0 0 0 1px rgba(6, 182, 212, .08);
  animation: previewFloat 7s ease-in-out infinite;
}

.hero-orbit-a { top: 22%; left: 12%; }
.hero-orbit-b { right: 8%; bottom: 18%; animation-delay: -2.5s; }

.hero-ghost-chart {
  display: flex;
  align-items: end;
  gap: 10px;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 8px;
  background: rgba(255, 255, 255, .055);
  backdrop-filter: blur(8px);
  opacity: .72;
}

.hero-ghost-chart span {
  width: 18px;
  height: var(--h, 54px);
  border-radius: 999px 999px 4px 4px;
  background: linear-gradient(180deg, rgba(6, 182, 212, .72), rgba(37, 99, 235, .2));
}

.hero-ghost-chart span:nth-child(2) { --h: 84px; }
.hero-ghost-chart span:nth-child(3) { --h: 42px; }
.hero-ghost-chart span:nth-child(4) { --h: 68px; }
.hero-ghost-chart-a { top: 16%; right: 46%; transform: rotate(-8deg); }
.hero-ghost-chart-b { left: 7%; bottom: 30%; transform: rotate(7deg); }

.hero-glow-one { background: radial-gradient(circle, rgba(37, 99, 235, .48), transparent 66%); }
.hero-glow-two { background: radial-gradient(circle, rgba(124, 58, 237, .42), transparent 66%); }

.hero-dashboard {
  border-color: rgba(255, 255, 255, .22);
  background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(248, 250, 252, .84));
  box-shadow: 0 42px 120px rgba(2, 6, 23, .36);
}

.hero-question-card { background: linear-gradient(135deg, #0f172a, #2563eb 56%, #7c3aed); }
.hero-bar-purple span { background: linear-gradient(90deg, #a78bfa, #7c3aed); }
.hero-bar-cyan span { background: linear-gradient(90deg, #67e8f9, #06b6d4); }
.hero-phone i:nth-of-type(1) { background: #dbeafe; }
.hero-phone i:nth-of-type(2) { background: #ede9fe; }
.hero-phone i:nth-of-type(3) { background: #cffafe; }
.hero-live-card strong { color: #2563eb; }

.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 1em;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

.stats-band {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 36px));
  margin: -34px auto 22px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.stat-card,
.system-mockup,
.audience-card,
.timeline-step,
.testimonial-card {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
  transition: transform 190ms ease, box-shadow 190ms ease, border-color 190ms ease;
}

.stat-card:hover,
.system-mockup:hover,
.audience-card:hover,
.timeline-step:hover,
.testimonial-card:hover,
.landing-body .pricing-card:hover {
  transform: translateY(-4px);
  border-color: rgba(6, 182, 212, .28);
  box-shadow: 0 28px 80px rgba(15, 23, 42, .14);
}

.stat-card {
  min-height: 138px;
  padding: 22px;
  display: grid;
  gap: 8px;
  align-content: center;
}

.stat-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(37, 99, 235, .1), rgba(6, 182, 212, .12));
  font-size: 25px;
}

.stat-icon.material-symbols-outlined {
  color: #2563eb;
  font-size: 30px;
}

.stat-card strong {
  color: #0f172a;
  font-size: clamp(25px, 2.8vw, 36px);
  line-height: 1.05;
}

.stat-card p {
  margin: 0;
  color: #64748b;
  font-weight: 800;
}

.landing-body .section-intro { max-width: 760px; }
.landing-body .section-intro h2 { color: #0f172a; }

.mockup-grid,
.audience-grid,
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.system-mockup {
  padding: 16px;
  display: grid;
  gap: 16px;
}

.mockup-frame {
  min-height: 310px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .18);
  background: #0f172a;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05);
}

.mockup-topbar {
  min-height: 42px;
  padding: 12px;
  display: flex;
  gap: 7px;
  background: rgba(255, 255, 255, .08);
}

.mockup-topbar span {
  width: 10px;
  height: 10px;
  border-radius: 99px;
  background: #06b6d4;
}

.mockup-question {
  margin: 18px;
  padding: 20px;
  border-radius: 8px;
  background: linear-gradient(135deg, #2563eb, #7c3aed);
  color: #fff;
}

.mockup-question small,
.mockup-question strong { display: block; }

.mockup-question strong {
  margin-top: 7px;
  font-size: 28px;
  line-height: 1.1;
}

.mockup-metrics {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.mockup-metrics i,
.leader-chip {
  min-height: 38px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, .14);
  font-style: normal;
  font-weight: 900;
}

.mockup-list {
  display: grid;
  gap: 10px;
  padding: 0 18px 18px;
}

.mockup-list span {
  height: 38px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .1);
}

.mockup-player {
  width: min(230px, 100%);
  margin-inline: auto;
  padding: 18px;
  display: grid;
  gap: 14px;
  align-content: start;
  border: 9px solid #020617;
  border-radius: 28px;
  background: #f8fafc;
}

.phone-notch {
  width: 58px;
  height: 6px;
  justify-self: center;
  border-radius: 999px;
  background: #cbd5e1;
}

.mockup-player strong {
  margin: 10px 0;
  color: #0f172a;
  text-align: center;
  font-size: 24px;
  line-height: 1.15;
}

.mockup-player button {
  min-height: 48px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, #2563eb, #06b6d4);
  color: #fff;
  font-weight: 900;
}

.mockup-player button:nth-of-type(2) { background: linear-gradient(135deg, #7c3aed, #2563eb); }

.mockup-results {
  padding: 28px 20px;
  display: grid;
  align-content: center;
  gap: 14px;
}

.mockup-results .result-row {
  min-height: 52px;
  padding: 8px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px;
  gap: 10px;
  align-items: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
}

.mockup-results .result-row span {
  width: var(--w);
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(90deg, #06b6d4, #2563eb, #7c3aed);
}

.mockup-results .result-row b {
  color: #fff;
  direction: ltr;
}

.leader-chip {
  color: #fff;
  background: rgba(6, 182, 212, .18);
}

.system-mockup h3,
.audience-card h3,
.timeline-step h3 {
  margin: 0;
  color: #0f172a;
  font-size: 24px;
}

.system-mockup p,
.audience-card p,
.timeline-step p,
.testimonial-card p {
  margin: 0;
  color: #64748b;
  line-height: 1.6;
  font-weight: 700;
}

.audience-section,
.testimonials-section {
  width: 100%;
  max-width: none;
  padding-inline: max(28px, calc((100% - 1180px) / 2));
  background:
    radial-gradient(circle at 15% 15%, rgba(6, 182, 212, .1), transparent 25%),
    linear-gradient(180deg, #f8fafc, #eef2ff 52%, #f8fafc);
}

.audience-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.audience-card { overflow: hidden; }

.audience-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
  background: #e2e8f0;
}

.audience-card h3,
.audience-card p { padding-inline: 18px; }
.audience-card h3 {
  padding-top: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.audience-card h3 .material-symbols-outlined {
  color: #2563eb;
  font-size: 26px;
}
.audience-card p { padding-bottom: 20px; }

.timeline-section { overflow: hidden; }

.timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.timeline::before {
  content: "";
  position: absolute;
  top: 39px;
  right: 8%;
  left: 8%;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #06b6d4, #2563eb, #7c3aed);
}

.timeline-step {
  position: relative;
  min-height: 230px;
  padding: 22px;
  display: grid;
  align-content: start;
  gap: 12px;
}

.timeline-step span {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #2563eb, #7c3aed);
  color: #fff;
  font-size: 24px;
  font-weight: 900;
  box-shadow: 0 0 0 8px #f8fafc, 0 18px 38px rgba(37, 99, 235, .22);
}

.pricing-grid-modern { align-items: center; }

.landing-body .pricing-card {
  transition: transform 190ms ease, box-shadow 190ms ease, border-color 190ms ease;
}

.landing-body .pricing-card.featured {
  min-height: 360px;
  padding: 28px;
  border-color: rgba(6, 182, 212, .52);
  background: linear-gradient(135deg, #2563eb, #06b6d4);
  box-shadow: 0 30px 90px rgba(37, 99, 235, .22), 0 0 44px rgba(6, 182, 212, .26);
  transform: scale(1.04);
}

.landing-body .pricing-card.featured:hover { transform: translateY(-4px) scale(1.04); }

.landing-body .pricing-card.featured h3,
.landing-body .pricing-card.featured strong,
.landing-body .pricing-card.featured p { color: #fff; }

.landing-body .pricing-card.featured .pricing-badge {
  background: rgba(255, 255, 255, .18);
  color: #fff;
}

.landing-body .pricing-card.featured .landing-button {
  margin-top: 6px;
  background: #fff;
  color: #2563eb;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .18);
}

.popular-badge { box-shadow: 0 0 28px rgba(255, 255, 255, .24); }

.pricing-badge .material-symbols-outlined {
  color: currentColor;
  font-size: 18px;
  vertical-align: -4px;
}

.testimonial-card {
  min-height: 190px;
  padding: 24px;
  display: grid;
  align-content: center;
  gap: 16px;
}

.testimonial-card .star-rating {
  color: #f59e0b;
  letter-spacing: 0;
  direction: ltr;
  display: inline-flex;
  gap: 2px;
  justify-content: flex-end;
}

.testimonial-card .star-rating .material-symbols-outlined {
  font-size: 24px;
}

.testimonial-card p {
  color: #0f172a;
  font-size: 22px;
}

.landing-cta {
  background:
    radial-gradient(circle at 25% 18%, rgba(6, 182, 212, .36), transparent 30%),
    linear-gradient(135deg, #0f172a, #2563eb 62%, #7c3aed);
  box-shadow: 0 30px 90px rgba(37, 99, 235, .18);
}

.landing-footer {
  display: grid;
  grid-template-columns: 1.25fr repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 28px;
  padding: 42px max(22px, calc((100% - 1180px) / 2));
  background: #fff;
}

.footer-column {
  display: grid;
  gap: 10px;
}

.footer-column h2 {
  margin: 0 0 4px;
  color: #0f172a;
  font-size: 18px;
}

.footer-column a,
.footer-column p {
  margin: 0;
  color: #64748b;
  line-height: 1.55;
  text-decoration: none;
  font-weight: 700;
}

.footer-column a:hover { color: #2563eb; }

.footer-logo {
  width: 76px;
  height: 76px;
  object-fit: contain;
}

.landing-footer .footer-social { margin-top: 8px; }

@media (max-width: 980px) {
  .tech-hero {
    min-height: auto;
    padding-top: 112px;
  }

  .hero-brand-mark { margin-inline: auto; }
  .hero-subtitle { text-align: center; }

  .stats-band,
  .audience-grid,
  .timeline,
  .landing-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mockup-grid,
  .testimonials-grid {
    grid-template-columns: 1fr;
  }

  .timeline::before { display: none; }

  .landing-body .pricing-card.featured { transform: none; }
  .landing-body .pricing-card.featured:hover { transform: translateY(-4px); }
}

@media (max-width: 640px) {
  .landing-header { min-height: 72px; }

  .landing-logo {
    width: 64px;
    height: 64px;
  }

  .tech-hero {
    padding: 96px 18px 56px;
    background:
      linear-gradient(160deg, rgba(2, 6, 23, .8) 0%, rgba(15, 23, 42, .62) 58%, rgba(23, 37, 84, .46) 100%),
      radial-gradient(circle at 50% 15%, rgba(37, 99, 235, .46), transparent 35%),
      radial-gradient(circle at 18% 55%, rgba(124, 58, 237, .34), transparent 30%),
      url("/assets/rfgrgcdkk.png") center top / cover no-repeat;
  }

  .hero-brand-mark {
    width: 86px;
    height: 86px;
  }

  .hero-cta-actions,
  .stats-band,
  .audience-grid,
  .timeline,
  .landing-footer {
    grid-template-columns: 1fr;
  }

  .stats-band { margin-top: -18px; }
  .stat-card { min-height: 112px; }
  .mockup-frame { min-height: 250px; }
  .mockup-player { width: min(220px, 100%); }

  .audience-section,
  .testimonials-section {
    padding-inline: 18px;
  }

  .timeline-step { min-height: 0; }
  .testimonial-card p { font-size: 19px; }
  .landing-footer { gap: 22px; }
}
