:root {
  color-scheme: dark;
  --cloud-dancer: oklch(0.965 0.007 95);
  --paper-shadow: oklch(0.18 0.035 45 / 0.62);
  --signal-red: oklch(0.55 0.22 28);
  --signal-cyan: oklch(0.77 0.15 215);
  --signal-gold: oklch(0.88 0.17 86);
  --signal-green: oklch(0.78 0.16 145);
  --bg: #080711;
  --ink: #fbf7f0;
  --muted: #b8afc8;
  --line: rgba(255, 255, 255, 0.16);
  --panel: rgba(20, 18, 34, 0.82);
  --panel-strong: rgba(31, 27, 50, 0.94);
  --gold: #ffd85c;
  --hot: #ff4f9a;
  --cyan: #46e7ff;
  --green: #8cff86;
  --red: #ff6262;
  --shadow: rgba(0, 0, 0, 0.42);
  --radius: 8px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: Georgia, "Times New Roman", serif;
  --motion-productive: cubic-bezier(0.2, 0, 0.38, 0.9);
  --motion-expressive: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast: 160ms;
  --duration-medium: 360ms;
  --duration-slow: 720ms;
  --scroll-progress: 0;
  --hero-paper-y: 0px;
}

@supports (color: color(display-p3 1 0 0)) {
  :root {
    --gold: color(display-p3 0.96 0.82 0.14);
    --hot: color(display-p3 0.84 0.08 0.16);
    --cyan: color(display-p3 0.22 0.67 0.82);
    --green: color(display-p3 0.48 0.82 0.33);
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px) 0 0 / 18px 18px,
    linear-gradient(0deg, rgba(255,255,255,0.03) 1px, transparent 1px) 0 0 / 18px 18px,
    radial-gradient(circle at 14% 10%, rgba(255, 79, 154, 0.18), transparent 24rem),
    radial-gradient(circle at 86% 14%, rgba(70, 231, 255, 0.18), transparent 24rem),
    linear-gradient(180deg, #0e0b20 0%, var(--bg) 58%, #110813 100%);
  color: var(--ink);
  font-family: var(--font);
  font-optical-sizing: auto;
  font-variation-settings: "wght" 520;
  letter-spacing: 0;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle, rgba(247, 213, 29, 0.52) 0 2px, transparent 3px) 5vw 10vh / 108px 94px,
    radial-gradient(circle, rgba(212, 32, 47, 0.34) 0 2px, transparent 3px) 14vw 34vh / 150px 120px,
    radial-gradient(circle, rgba(67, 165, 199, 0.38) 0 2px, transparent 3px) 9vw 68vh / 130px 104px;
  transform: translate3d(0, calc(var(--hero-paper-y) * -0.4), 0);
  opacity: 0.45;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.18;
  mix-blend-mode: overlay;
  background:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,0.28) 0 1px, transparent 1.5px) 0 0 / 13px 13px,
    radial-gradient(circle at 70% 60%, rgba(0,0,0,0.36) 0 1px, transparent 1.5px) 0 0 / 17px 17px,
    repeating-linear-gradient(100deg, transparent 0 9px, rgba(255,255,255,0.08) 10px, transparent 11px);
}

button,
input,
textarea {
  font: inherit;
}

button,
a.secondary-action {
  cursor: pointer;
}

main {
  position: relative;
  z-index: 1;
}

.theme-playbill {
  --bg: #151007;
  --ink: var(--cloud-dancer);
  --muted: #d5c178;
  --panel: rgba(31, 20, 10, 0.84);
  --panel-strong: rgba(45, 24, 9, 0.96);
  --gold: #f7d51d;
  --hot: #d4202f;
  --cyan: #43a5c7;
  --green: #90d75f;
  --red: #d4202f;
  --display: "Times New Roman", Georgia, serif;
  background:
    linear-gradient(90deg, rgba(247,213,29,0.08) 1px, transparent 1px) 0 0 / 24px 24px,
    linear-gradient(0deg, rgba(247,213,29,0.08) 1px, transparent 1px) 0 0 / 24px 24px,
    radial-gradient(circle at 8% 14%, color-mix(in oklch, var(--signal-red) 30%, transparent), transparent 24rem),
    radial-gradient(circle at 88% 10%, color-mix(in oklch, var(--signal-cyan) 24%, transparent), transparent 26rem),
    linear-gradient(135deg, rgba(212, 32, 47, 0.24), transparent 36rem),
    linear-gradient(180deg, #120b07 0%, #261407 58%, #110805 100%);
}

.has-seen-intro .entrance {
  display: none;
}

.entrance {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  pointer-events: none;
  background: #070610;
  animation: entrance-out 0.7s var(--motion-productive) 1.45s forwards;
}

.entrance-grid {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(20, 1fr);
  grid-template-rows: repeat(12, 1fr);
  opacity: 0.8;
}

.entrance-grid::before {
  content: "";
  grid-area: 1 / 1 / -1 / -1;
  background:
    linear-gradient(90deg, var(--hot) 0 5%, transparent 5% 10%, var(--cyan) 10% 15%, transparent 15% 20%) 0 0 / 120px 100%,
    linear-gradient(0deg, rgba(255,255,255,0.08) 0 8%, transparent 8% 16%) 0 0 / 100% 80px;
  animation: paper-wipe 1.2s steps(8) forwards;
}

.entrance-card {
  position: relative;
  display: grid;
  gap: 8px;
  padding: 22px 28px;
  border: 2px solid var(--gold);
  background: rgba(9, 8, 18, 0.92);
  box-shadow: 8px 8px 0 var(--hot), -8px -8px 0 var(--cyan);
  text-align: center;
  transform: translateY(8px);
  animation: entrance-card 1.1s var(--motion-expressive) forwards;
}

.entrance-card strong {
  font-family: var(--display);
  font-size: clamp(34px, 7vw, 72px);
  line-height: 0.92;
}

.mini-kicker,
.eyebrow,
.count-label,
.card-head span,
.nomination-input span,
.proof-card span,
.disabled-upload span,
.admin-lock span {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 800;
}

.hero {
  min-height: 92vh;
  padding: 18px clamp(16px, 3vw, 34px) 56px;
  position: relative;
  overflow: hidden;
}

.hero::before,
.hero::after {
  content: "";
  position: absolute;
  inset: auto -12vw 0;
  height: 120px;
  background:
    linear-gradient(90deg, var(--hot) 0 9%, transparent 9% 11%, var(--gold) 11% 20%, transparent 20% 22%, var(--cyan) 22% 31%, transparent 31% 33%) 0 0 / 220px 100%;
  opacity: 0.28;
  animation: billboard-run 16s linear infinite;
  transform: translateY(calc(var(--hero-paper-y) * 0.55));
}

.hero::after {
  top: 118px;
  bottom: auto;
  height: 30px;
  opacity: 0.4;
  animation-duration: 9s;
  animation-direction: reverse;
}

.topbar {
  position: sticky;
  top: 12px;
  z-index: 10;
  max-width: 1240px;
  margin: 0 auto;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  border: 3px solid var(--gold);
  background:
    radial-gradient(circle, rgba(255, 251, 210, 0.95) 0 2px, rgba(247, 213, 29, 0.65) 3px, transparent 5px) 8px 6px / 28px 18px repeat-x,
    radial-gradient(circle, rgba(255, 251, 210, 0.9) 0 2px, rgba(247, 213, 29, 0.55) 3px, transparent 5px) 8px calc(100% - 10px) / 28px 18px repeat-x,
    linear-gradient(180deg, rgba(27, 11, 7, 0.98), rgba(12, 5, 7, 0.92));
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  box-shadow:
    0 18px 60px var(--shadow),
    0 0 28px rgba(247, 213, 29, 0.22),
    inset 0 0 0 1px rgba(255, 255, 255, 0.12);
  overflow: hidden;
}

.topbar::before,
.topbar::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.topbar::before {
  inset: 8px;
  border: 1px solid rgba(255, 247, 190, 0.18);
  background:
    radial-gradient(circle, rgba(255, 250, 207, 0.96) 0 2px, rgba(247, 213, 29, 0.7) 3px, transparent 5px) left 0 top 50% / 18px 28px repeat-y,
    radial-gradient(circle, rgba(255, 250, 207, 0.96) 0 2px, rgba(247, 213, 29, 0.7) 3px, transparent 5px) right 0 top 50% / 18px 28px repeat-y;
  filter: drop-shadow(0 0 7px rgba(247, 213, 29, 0.52));
}

.topbar::after {
  inset: 0;
  background:
    linear-gradient(105deg, transparent 10%, rgba(255,255,255,0.2) 18%, transparent 26%) 0 0 / 260px 100%,
    linear-gradient(180deg, rgba(255,255,255,0.1), transparent 42%);
  mix-blend-mode: screen;
  animation: marquee-sheen 5.8s linear infinite;
}

.theme-playbill .topbar {
  border-radius: 0;
  box-shadow:
    6px 6px 0 rgba(212, 32, 47, 0.58),
    0 18px 60px var(--shadow),
    0 0 32px rgba(247, 213, 29, 0.22);
}

.scrolled .topbar {
  padding: 7px 10px;
  transform: translateY(-3px);
}

.aka-mark {
  width: 84px;
  min-height: 38px;
  display: grid;
  place-items: center;
  padding: 8px;
  position: relative;
  z-index: 1;
}

.aka-mark img {
  max-width: 64px;
  max-height: 22px;
}

.nav-links,
.hero-actions,
.tools-row,
.admin-toolbar,
.round-tabs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.nav-links {
  justify-content: center;
  position: relative;
  z-index: 1;
}

.nav-link {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.nav-link,
.round-tab,
.primary-action,
.secondary-action {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink);
  background: rgba(255, 255, 255, 0.09);
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  transition: transform var(--duration-fast) var(--motion-expressive), border-color var(--duration-fast) var(--motion-productive), background var(--duration-fast) var(--motion-productive), box-shadow var(--duration-fast) var(--motion-productive);
}

.topbar .nav-link {
  border-color: rgba(247, 213, 29, 0.38);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.03)),
    rgba(31, 20, 10, 0.86);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 0 0 1px rgba(0,0,0,0.22);
}

.primary-action {
  color: #171008;
  border-color: rgba(255, 216, 92, 0.9);
  background: var(--gold);
  box-shadow: 4px 4px 0 var(--hot);
}

.secondary-action {
  border-color: rgba(70, 231, 255, 0.38);
}

.nav-link.active,
.round-tab.active {
  color: #110f18;
  background: var(--cyan);
  border-color: var(--cyan);
}

button:hover {
  transform: translateY(-2px);
}

a.secondary-action:hover {
  transform: translateY(-2px);
}

button:active {
  transform: translateY(1px) scale(0.99);
}

a.secondary-action:active {
  transform: translateY(1px) scale(0.99);
}

.primary-action:active,
.secondary-action:active,
.nav-link:active {
  animation: anticipation 280ms var(--motion-expressive);
}

.hero-stage {
  max-width: 1240px;
  min-height: calc(92vh - 88px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  align-items: center;
  gap: clamp(24px, 5vw, 70px);
  position: relative;
}

.tony-hero {
  grid-template-columns: minmax(360px, 0.98fr) minmax(0, 0.82fr);
  align-items: end;
}

.tony-hero .poster-wall {
  grid-row: 1 / span 2;
}

.tony-hero .hero-copy,
.tony-hero .countdown {
  grid-column: 2;
}

.tony-hero::before {
  content: "";
  position: absolute;
  inset: 10% -12% auto 42%;
  height: 78%;
  pointer-events: none;
  background: conic-gradient(from 190deg at 50% 0%, rgba(255, 248, 204, 0.72), transparent 18deg, transparent 340deg, rgba(255, 248, 204, 0.38));
  mix-blend-mode: screen;
  filter: blur(12px);
  opacity: 0;
  transform-origin: 50% 0%;
  animation: boot-spotlight 1.8s var(--motion-productive) 220ms both;
}

.super-hero {
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.78fr);
  isolation: isolate;
}

.superlatives-page .hero-copy {
  margin-left: clamp(-26px, -2vw, 0px);
  transform: translate3d(0, calc(var(--hero-paper-y) * -0.12), 42px);
}

.superlatives-page .hero-copy p {
  font-size: clamp(22px, 3vw, 36px);
  color: var(--cloud-dancer);
  text-shadow: 2px 2px 0 rgba(0,0,0,0.48);
}

.times-square-stack {
  position: relative;
  min-height: min(58vw, 520px);
  z-index: 0;
  transform-style: preserve-3d;
  perspective: 900px;
}

.poster-wall {
  position: relative;
  min-height: min(61vw, 610px);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(96px, 1fr));
  gap: clamp(8px, 1.1vw, 14px);
  padding: clamp(10px, 1.5vw, 18px);
  perspective: 1000px;
  transform-style: preserve-3d;
  isolation: isolate;
}

.poster-wall::before {
  content: "";
  position: absolute;
  inset: -8%;
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(12, 5, 7, 0.08), rgba(12, 5, 7, 0.4)),
    url("assets/times-square-parody-hero.png") center / cover no-repeat;
  transform: translate3d(0, calc(var(--hero-paper-y) * -0.28), -80px) scale(1.06);
  filter: saturate(1.18) contrast(1.06);
  box-shadow: inset 0 0 120px rgba(0,0,0,0.55);
}

.poster-wall::after {
  content: "";
  position: absolute;
  inset: -3%;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,230,0.58), transparent 13%),
    radial-gradient(circle at 78% 28%, rgba(67,165,199,0.44), transparent 19%),
    linear-gradient(110deg, transparent 8%, rgba(255,255,255,0.22) 15%, transparent 27%);
  mix-blend-mode: screen;
  animation: poster-spotlight-sweep 5.6s ease-in-out infinite;
}

.poster-wall .paper-billboard {
  position: relative;
  inset: auto;
  width: auto;
  height: auto;
  min-height: 120px;
  border-width: 3px;
  text-align: left;
  align-content: end;
  transform:
    translate3d(0, calc(var(--hero-paper-y) * var(--depth, 0.12)), 0)
    rotate(var(--rot, 0deg))
    rotateY(var(--yaw, 0deg));
  transition:
    transform 320ms var(--motion-expressive),
    filter 220ms var(--motion-productive),
    box-shadow 220ms var(--motion-productive);
}

.poster-wall .paper-billboard:hover,
.poster-wall .paper-billboard:focus-visible,
.poster-wall .paper-billboard:active {
  z-index: 3;
  filter: brightness(1.18) saturate(1.25);
  box-shadow:
    0 0 0 2px rgba(255, 247, 196, 0.28),
    0 0 28px rgba(247, 213, 29, 0.48),
    10px 11px 0 rgba(212, 32, 47, 0.62),
    0 26px 80px rgba(0,0,0,0.52);
  transform:
    translate3d(0, calc(var(--hero-paper-y) * var(--depth, 0.12) - 8px), 52px)
    rotate(var(--rot, 0deg))
    rotateY(calc(var(--yaw, 0deg) * 0.45))
    scale(1.025);
}

.poster-wall .paper-billboard strong {
  font-size: clamp(18px, 2.1vw, 35px);
}

.poster-wall .paper-billboard span {
  font-size: clamp(11px, 1.05vw, 14px);
  line-height: 1.1;
}

.poster-legal {
  grid-column: span 2;
  grid-row: span 2;
  --rot: -2deg;
  --yaw: -6deg;
  --depth: 0.32;
  --billboard-bg: linear-gradient(135deg, rgba(225, 21, 109, 0.92), rgba(79, 6, 46, 0.9));
}

.poster-witch {
  grid-row: span 2;
  --rot: 2deg;
  --yaw: 4deg;
  --depth: -0.1;
  --billboard-bg: linear-gradient(145deg, rgba(135, 177, 35, 0.92), rgba(16, 40, 15, 0.94));
}

.poster-star {
  grid-row: span 2;
  --rot: -1deg;
  --depth: 0.18;
  --billboard-bg: linear-gradient(145deg, rgba(190, 130, 13, 0.94), rgba(37, 22, 4, 0.96));
}

.poster-mask {
  grid-column: span 2;
  --rot: 1.5deg;
  --depth: -0.2;
  --billboard-bg: linear-gradient(145deg, rgba(246, 231, 205, 0.9), rgba(23, 18, 16, 0.94));
  color: #fff1db;
}

.poster-blue {
  --rot: -3deg;
  --depth: 0.08;
  --billboard-bg: linear-gradient(145deg, rgba(41, 143, 198, 0.9), rgba(9, 23, 58, 0.94));
}

.poster-pie {
  --rot: 2.2deg;
  --depth: 0.22;
  --billboard-bg: linear-gradient(145deg, rgba(212, 94, 49, 0.9), rgba(40, 17, 7, 0.96));
}

.poster-city {
  --rot: -1.2deg;
  --billboard-bg: linear-gradient(145deg, rgba(52, 111, 170, 0.9), rgba(8, 14, 38, 0.96));
}

.poster-cats {
  grid-column: span 2;
  --rot: 1deg;
  --depth: 0.28;
  --billboard-bg: linear-gradient(145deg, rgba(20, 17, 14, 0.96), rgba(6, 5, 8, 0.98));
}

.paper-billboard {
  position: absolute;
  display: grid;
  align-content: end;
  gap: 8px;
  padding: 16px;
  border: 2px solid rgba(255, 244, 153, 0.82);
  color: #fff8cc;
  box-shadow:
    8px 9px 0 rgba(212, 32, 47, 0.58),
    0 18px 60px rgba(0,0,0,0.42),
    inset 0 0 0 1px rgba(255,255,255,0.18);
  background:
    radial-gradient(circle, rgba(255,255,255,0.95) 0 2px, transparent 3px) 8px 8px / 24px 24px,
    linear-gradient(135deg, rgba(255,255,255,0.12), transparent 36%),
    var(--billboard-bg, #7c1020);
  transform: translate3d(0, calc(var(--hero-paper-y) * var(--depth, 0.2)), 0) rotate(var(--rot, -4deg));
  animation: billboard-flicker 4.8s steps(4) infinite;
}

.paper-billboard::before,
.paper-billboard::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.paper-billboard::before {
  inset: -8px;
  z-index: -1;
  background:
    linear-gradient(135deg, rgba(255, 247, 202, 0.44), transparent 38%),
    rgba(255, 240, 178, 0.14);
  transform: rotate(calc(var(--rot, 0deg) * -0.36)) translate3d(8px, 10px, -1px);
  box-shadow: 14px 16px 0 var(--paper-shadow);
}

.paper-billboard::after {
  left: 10px;
  right: 10px;
  top: 12px;
  height: 8px;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,0.8) 0 7px, rgba(247, 213, 29, 0.38) 7px 14px, transparent 14px 21px);
  opacity: 0.75;
  filter: drop-shadow(0 0 8px rgba(247,213,29,0.38));
}

.paper-billboard strong {
  font-family: var(--display);
  font-size: clamp(30px, 4vw, 56px);
  line-height: 0.82;
  text-transform: uppercase;
  text-shadow: 4px 4px 0 rgba(0,0,0,0.42);
  filter: drop-shadow(1px 0 0 rgba(67, 165, 199, 0.45)) drop-shadow(-1px 0 0 rgba(212, 32, 47, 0.45));
}

.paper-billboard span {
  font-weight: 900;
  color: rgba(255, 248, 204, 0.82);
}

.billboard-hero {
  width: min(72%, 430px);
  height: 230px;
  left: 1%;
  top: 10%;
  --rot: -7deg;
  --depth: 0.38;
  --billboard-bg: linear-gradient(135deg, #be1e2d, #511018);
}

.billboard-tall {
  width: min(42%, 250px);
  height: 360px;
  right: 6%;
  top: 0;
  --rot: 5deg;
  --depth: -0.18;
  --billboard-bg: linear-gradient(160deg, #0f6289, #091b45);
}

.billboard-gold {
  width: min(58%, 330px);
  height: 160px;
  right: 0;
  bottom: 12%;
  --rot: -2deg;
  --depth: 0.25;
  --billboard-bg: linear-gradient(135deg, #b47c08, #492806);
}

.billboard-skinny {
  width: min(36%, 190px);
  height: 210px;
  left: 16%;
  bottom: 2%;
  --rot: 8deg;
  --depth: -0.08;
  --billboard-bg: linear-gradient(135deg, #247344, #0b321f);
}

.billboard-blue {
  color: #d9f8ff;
}

.billboard-green {
  color: #e9ffd8;
}

.marquee-orbit {
  position: absolute;
  width: min(58vw, 690px);
  aspect-ratio: 1;
  left: 46%;
  top: 52%;
  transform: translate(-50%, -50%);
  opacity: 0.48;
  background:
    conic-gradient(from 90deg, var(--hot), var(--gold), var(--cyan), var(--green), var(--hot));
  clip-path: polygon(50% 0, 58% 38%, 100% 50%, 58% 62%, 50% 100%, 42% 62%, 0 50%, 42% 38%);
  filter: saturate(1.3);
  animation: slow-spin 18s steps(24) infinite;
}

.theme-playbill .marquee-orbit {
  clip-path: polygon(0 15%, 100% 0, 92% 78%, 10% 100%);
  background:
    repeating-linear-gradient(90deg, var(--gold) 0 22px, var(--hot) 22px 38px, #151007 38px 44px);
  transform: translate(-50%, -50%) rotate(-8deg);
  animation: paper-float 7s ease-in-out infinite alternate;
}

.hero-copy {
  position: relative;
  max-width: 780px;
  z-index: 1;
}

h1,
h2,
h3,
p {
  margin: 0;
}

h1 {
  font-family: var(--display);
  font-size: clamp(64px, 12vw, 158px);
  line-height: 0.78;
  letter-spacing: 0;
  max-width: 7.5em;
  text-shadow: 7px 7px 0 rgba(255, 79, 154, 0.72), 12px 12px 0 rgba(70, 231, 255, 0.36);
  clip-path: inset(0 100% 0 0);
  animation: title-mask 900ms var(--motion-productive) 220ms forwards;
}

.theme-playbill h1 {
  text-transform: uppercase;
  color: var(--gold);
  -webkit-text-stroke: 2px #130c05;
  text-shadow: 3px 0 0 rgba(67, 165, 199, 0.76), 6px 6px 0 var(--hot), 13px 12px 0 rgba(0, 0, 0, 0.22);
}

.hero-copy p,
.section-heading p {
  max-width: 690px;
  margin-top: 20px;
  color: var(--muted);
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.42;
}

.hero-actions {
  margin-top: 28px;
}

.countdown,
.panel,
.category-card,
.super-card,
.proof-card,
.admin-lock,
.admin-dashboard,
.source-note {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: 0 24px 80px var(--shadow);
}

.countdown {
  position: relative;
  z-index: 1;
  padding: 24px;
  min-height: 210px;
  display: grid;
  align-content: center;
  gap: 12px;
}

.countdown::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px dashed rgba(247, 213, 29, 0.32);
  transform: rotate(calc(var(--scroll-progress) * 4deg - 2deg));
  pointer-events: none;
}

.count-time {
  font-family: "Courier New", monospace;
  color: var(--gold);
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 900;
  line-height: 1;
}

.count-note {
  color: var(--muted);
  line-height: 1.4;
}

.section-shell,
.panel {
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
}

.section-shell {
  padding: 76px 0 8px;
  scroll-margin-top: 86px;
}

.identity-panel {
  margin-top: -36px;
  position: relative;
  z-index: 2;
  padding: clamp(18px, 3vw, 26px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 520px);
  gap: 24px;
  align-items: end;
}

.identity-panel h2,
.section-heading h2 {
  margin-top: 6px;
  font-family: var(--display);
  font-size: clamp(42px, 6vw, 72px);
  line-height: 0.96;
}

.identity-form,
.admin-lock {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}

label {
  display: grid;
  gap: 8px;
}

input,
textarea {
  min-height: 46px;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.08);
  color: var(--ink);
  padding: 10px 12px;
  outline: none;
  resize: vertical;
}

input:focus,
textarea:focus {
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(70, 231, 255, 0.18);
}

.section-heading {
  margin-bottom: 22px;
}

.tools-row {
  justify-content: space-between;
  padding: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.05);
  margin-bottom: 14px;
}

.superlatives-page .tools-row {
  border-color: color-mix(in oklch, var(--signal-gold) 34%, transparent);
  box-shadow: 0 18px 58px rgba(0,0,0,0.32);
}

.progress-pill {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid rgba(255, 216, 92, 0.36);
  color: var(--gold);
  font-weight: 900;
  background: rgba(255, 216, 92, 0.08);
}

.source-note {
  margin-bottom: 18px;
  padding: 14px 16px;
  color: var(--muted);
  line-height: 1.45;
  font-size: 13px;
}

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

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

.superlatives-page .super-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-flow: dense;
  grid-auto-rows: minmax(230px, auto);
}

.category-card,
.super-card {
  min-width: 0;
  padding: 18px;
  position: relative;
  overflow: hidden;
  transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(calc(var(--card-lift, 0px) + var(--scroll-card-y, 0px)));
  transition: transform var(--duration-medium) var(--motion-productive), border-color var(--duration-fast) var(--motion-productive), box-shadow var(--duration-fast) var(--motion-productive);
  transform-style: preserve-3d;
}

.superlatives-page .super-card:nth-child(odd) {
  --scroll-card-y: calc(var(--scroll-progress) * -18px);
}

.superlatives-page .super-card:nth-child(even) {
  --scroll-card-y: calc(var(--scroll-progress) * 12px);
}

.superlatives-page .panel,
.superlatives-page .super-card,
.superlatives-page .directions-card,
.superlatives-page .tools-row,
.superlatives-page .admin-lock,
.superlatives-page .admin-dashboard {
  border-color: color-mix(in oklch, var(--cloud-dancer) 22%, transparent);
  background:
    linear-gradient(135deg, rgba(255,255,255,0.13), transparent 42%),
    linear-gradient(180deg, rgba(56, 27, 8, 0.78), rgba(18, 9, 7, 0.82));
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
}

.superlatives-page .super-card {
  grid-column: span 2;
  min-height: 248px;
  box-shadow:
    0 24px 78px rgba(0, 0, 0, 0.42),
    7px 8px 0 rgba(212, 32, 47, 0.28);
}

.superlatives-page .super-card:nth-child(1),
.superlatives-page .super-card:nth-child(5),
.superlatives-page .super-card:nth-child(9) {
  grid-column: span 3;
}

.superlatives-page .super-card:nth-child(4),
.superlatives-page .super-card:nth-child(10) {
  grid-column: span 4;
}

.superlatives-page .super-card:nth-child(7),
.superlatives-page .super-card:nth-child(12) {
  grid-column: span 2;
}

.superlatives-page .super-card::before {
  content: "";
  position: absolute;
  right: -34px;
  top: 18px;
  width: 132px;
  height: 74px;
  border: 1px solid rgba(255, 247, 196, 0.18);
  background:
    repeating-linear-gradient(90deg, rgba(247, 213, 29, 0.16) 0 11px, transparent 11px 22px),
    linear-gradient(135deg, rgba(255,255,255,0.11), transparent),
    rgba(255, 245, 194, 0.06);
  transform: translateZ(-8px) rotate(11deg);
  opacity: 0.86;
  pointer-events: none;
}

.category-card::after,
.super-card::after,
.proof-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(105deg, transparent 15%, rgba(255,255,255,0.12), transparent 48%);
  transform: translateX(-120%);
  animation: glint 5.5s ease-in-out infinite;
  background-position-x: var(--shine-x, 50%);
}

.category-card:hover,
.super-card:hover {
  --card-lift: -3px;
  border-color: rgba(247, 213, 29, 0.52);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.5), 5px 5px 0 rgba(212, 32, 47, 0.42);
}

.card-head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
}

.category-card {
  padding-top: 72px;
}

.category-card .card-head {
  grid-template-columns: 1fr;
  text-align: center;
}

.tony-award-stage {
  position: absolute;
  top: 13px;
  left: 50%;
  width: 86px;
  height: 76px;
  display: grid;
  place-items: center;
  transform: translateX(-50%);
  perspective: 720px;
  pointer-events: none;
}

.tony-award-stage::before {
  content: "";
  position: absolute;
  inset: 42px 2px 6px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(247, 213, 29, 0.35), transparent 68%);
  filter: blur(4px);
}

.tony-category-award {
  width: 58px;
  height: 68px;
  animation: tony-turntable 4.8s linear infinite;
  transform-origin: center;
  filter: drop-shadow(0 10px 12px rgba(0,0,0,0.42)) drop-shadow(0 0 10px rgba(247, 213, 29, 0.26));
}

.tony-category-award .tony-orb {
  width: 30px;
  height: 30px;
}

.tony-category-award .tony-figure {
  top: 27px;
  width: 16px;
  height: 29px;
}

.tony-category-award .tony-base {
  width: 44px;
  height: 15px;
}

.card-head h3 {
  margin-top: 3px;
  font-size: 20px;
  line-height: 1.1;
}

.award-badge {
  --award-accent: var(--cyan);
  width: 42px;
  height: 50px;
  position: relative;
  display: grid;
  place-items: center;
  transform: translateZ(22px);
  filter: drop-shadow(4px 5px 0 rgba(212, 32, 47, 0.45));
}

.award-badge::before {
  content: attr(data-mark);
  position: absolute;
  top: -4px;
  right: -8px;
  min-width: 24px;
  padding: 2px 4px;
  border: 1px solid #120b07;
  background: var(--award-accent);
  color: #120b07;
  font-size: 8px;
  font-weight: 1000;
  text-align: center;
  transform: rotate(8deg);
  z-index: 4;
}

.award-badge::after {
  content: "";
  position: absolute;
  left: 3px;
  right: 3px;
  top: 10px;
  height: 20px;
  background: repeating-linear-gradient(90deg, rgba(212, 32, 47, 0.85) 0 4px, transparent 4px 7px);
  clip-path: polygon(0 18%, 100% 0, 86% 100%, 8% 82%);
  opacity: 0.9;
}

.award-prop {
  position: absolute;
  display: block;
  z-index: 6;
  pointer-events: none;
}

.prop-beret {
  top: -5px;
  left: 7px;
  width: 26px;
  height: 11px;
  border-radius: 60% 60% 45% 45%;
  background: #161212;
  transform: rotate(-10deg);
  box-shadow: 9px -2px 0 #d4202f;
}

.prop-visor {
  top: -2px;
  left: 4px;
  width: 32px;
  height: 11px;
  background: linear-gradient(90deg, #f7d51d 0 64%, #43a5c7 64%);
  clip-path: polygon(0 38%, 72% 0, 100% 50%, 72% 100%, 0 72%);
}

.prop-headset {
  top: 4px;
  left: 4px;
  width: 32px;
  height: 24px;
  border: 3px solid #43a5c7;
  border-bottom: 0;
  border-radius: 50% 50% 0 0;
}

.prop-headset::after {
  content: "";
  position: absolute;
  right: -3px;
  bottom: 1px;
  width: 14px;
  height: 3px;
  background: #43a5c7;
  transform: rotate(18deg);
}

.prop-checkhat {
  top: -7px;
  left: 8px;
  width: 28px;
  height: 18px;
  background: #f56f46;
  clip-path: polygon(0 35%, 72% 0, 100% 38%, 84% 100%, 12% 92%);
}

.prop-checkhat::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 5px;
  width: 12px;
  height: 6px;
  border-left: 3px solid #fff4a8;
  border-bottom: 3px solid #fff4a8;
  transform: rotate(-45deg);
}

.prop-sleepcap {
  top: -8px;
  left: 9px;
  width: 30px;
  height: 20px;
  background: #b8c7ff;
  clip-path: polygon(0 35%, 54% 0, 100% 20%, 72% 58%, 24% 100%);
}

.prop-sleepcap::after,
.prop-partyhat::after {
  content: "";
  position: absolute;
  right: -2px;
  top: 4px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff4a8;
}

.prop-crown {
  top: -7px;
  left: 7px;
  width: 30px;
  height: 18px;
  background: linear-gradient(180deg, #fff4a8, #f7d51d);
  clip-path: polygon(0 100%, 0 35%, 24% 64%, 42% 0, 60% 64%, 100% 28%, 100% 100%);
}

.prop-goggles {
  top: 7px;
  left: 2px;
  width: 38px;
  height: 13px;
  border-top: 3px solid #161212;
}

.prop-goggles::before,
.prop-goggles::after {
  content: "";
  position: absolute;
  top: 0;
  width: 13px;
  height: 10px;
  border: 3px solid #161212;
  border-radius: 50%;
  background: rgba(67, 165, 199, 0.62);
}

.prop-goggles::before { left: 2px; }
.prop-goggles::after { right: 2px; }

.prop-topper {
  top: -10px;
  left: 8px;
  width: 27px;
  height: 20px;
  background: linear-gradient(180deg, #17100a 0 70%, #f7d51d 70%);
  clip-path: polygon(18% 0, 82% 0, 82% 70%, 100% 70%, 100% 100%, 0 100%, 0 70%, 18% 70%);
}

.prop-wig {
  top: -2px;
  left: 3px;
  width: 36px;
  height: 22px;
  background:
    radial-gradient(circle at 20% 70%, #3b2113 0 8px, transparent 9px),
    radial-gradient(circle at 42% 48%, #5a3117 0 10px, transparent 11px),
    radial-gradient(circle at 68% 68%, #3b2113 0 9px, transparent 10px);
}

.prop-partyhat {
  top: -12px;
  left: 13px;
  width: 22px;
  height: 27px;
  background: repeating-linear-gradient(135deg, #d4202f 0 5px, #f7d51d 5px 10px);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.prop-marquee {
  top: -6px;
  left: 2px;
  width: 38px;
  height: 16px;
  background:
    radial-gradient(circle, #fff4a8 0 2px, transparent 3px) 2px 2px / 9px 8px,
    #151007;
  border: 1px solid #f7d51d;
  transform: rotate(-4deg);
}

.prop-bow {
  top: 18px;
  left: 3px;
  width: 36px;
  height: 14px;
  background: #d4202f;
  clip-path: polygon(0 0, 42% 42%, 50% 28%, 58% 42%, 100% 0, 78% 100%, 54% 58%, 46% 58%, 22% 100%);
}

.tony-orb,
.tony-figure,
.tony-base {
  position: absolute;
  display: block;
}

.tony-orb {
  top: 1px;
  width: 22px;
  height: 22px;
  border: 3px solid var(--gold);
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #fff6a8, var(--gold) 52%, #b96c09);
  z-index: 2;
}

.tony-figure {
  top: 19px;
  width: 12px;
  height: 21px;
  background: linear-gradient(90deg, #9d650d, var(--gold), #fff1a0, var(--gold), #8f5505);
  clip-path: polygon(50% 0, 64% 30%, 78% 82%, 100% 100%, 0 100%, 22% 82%, 36% 30%);
  z-index: 3;
}

.tony-base {
  bottom: 0;
  width: 33px;
  height: 12px;
  background: linear-gradient(180deg, var(--gold), #7b4705);
  clip-path: polygon(12% 0, 88% 0, 100% 100%, 0 100%);
  z-index: 2;
}

.award-marquee,
.award-bulb,
.award-spotlight,
.award-lamp {
  --award-accent: var(--cyan);
}

.award-note,
.award-vocal,
.award-mic,
.award-wave,
.award-speaker,
.award-orchestra {
  --award-accent: #f472b6;
}

.award-curtain,
.award-mask,
.award-rose,
.award-hanger,
.award-thread {
  --award-accent: var(--hot);
}

.award-book,
.award-script,
.award-monologue,
.award-director,
.award-compass {
  --award-accent: #f8f0b4;
}

.award-dance,
.award-steps,
.award-star,
.award-spark,
.award-skyline,
.award-set {
  --award-accent: #8ed66f;
}

.super-award {
  --award-accent: #e8c2ff;
}

.patch-badge {
  --patch-a: var(--hot);
  --patch-b: var(--gold);
  width: 54px;
  height: 54px;
  position: relative;
  display: grid;
  place-items: center;
  border: 2px solid rgba(255, 247, 196, 0.78);
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,0.26), transparent 28%),
    linear-gradient(135deg, var(--patch-a), var(--patch-b));
  clip-path: polygon(50% 0, 92% 16%, 100% 58%, 76% 100%, 24% 100%, 0 58%, 8% 16%);
  transform: translateZ(22px) rotate(-4deg);
  box-shadow:
    inset 0 0 0 3px rgba(18, 11, 7, 0.38),
    5px 6px 0 rgba(0,0,0,0.28),
    0 0 16px rgba(247, 213, 29, 0.2);
}

.patch-badge::before {
  content: attr(data-mark);
  position: absolute;
  left: 50%;
  bottom: 7px;
  transform: translateX(-50%);
  max-width: 46px;
  color: #140b05;
  font-size: 7px;
  font-weight: 1000;
  line-height: 1;
  letter-spacing: 0.03em;
  text-align: center;
  text-shadow: 0 1px 0 rgba(255,255,255,0.25);
  z-index: 5;
}

.patch-badge::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px dashed rgba(20, 11, 5, 0.55);
  clip-path: inherit;
}

.patch-icon {
  position: absolute;
  left: 50%;
  top: 5px;
  transform: translateX(-50%) scale(0.82);
}

.patch-stitch {
  position: absolute;
  inset: -4px;
  background:
    radial-gradient(circle, rgba(255, 247, 196, 0.95) 0 1px, transparent 2px) 0 0 / 9px 9px;
  opacity: 0.72;
  clip-path: inherit;
}

.patch-deck { --patch-a: #d4202f; --patch-b: #f7d51d; }
.patch-clock { --patch-a: #43a5c7; --patch-b: #f7d51d; }
.patch-phone { --patch-a: #186f84; --patch-b: #8ed66f; }
.patch-task { --patch-a: #f56f46; --patch-b: #f7d51d; }
.patch-cloud { --patch-a: #93a7ff; --patch-b: #f8f0b4; }
.patch-gem { --patch-a: #c86bff; --patch-b: #43a5c7; }
.patch-flask { --patch-a: #8ed66f; --patch-b: #43a5c7; }
.patch-calendar { --patch-a: #151007; --patch-b: #f7d51d; }
.patch-vinyl { --patch-a: #22130c; --patch-b: #d4202f; }
.patch-spark { --patch-a: #d4202f; --patch-b: #c86bff; }
.patch-billboard { --patch-a: #43a5c7; --patch-b: #f7d51d; }
.patch-aka { --patch-a: #d4202f; --patch-b: #fff4a8; }

.nominee-list {
  display: grid;
  gap: 8px;
}

.nominee-option {
  min-height: 68px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius);
  background: rgba(255,255,255,0.05);
  transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
  position: relative;
  overflow: hidden;
}

.nominee-option:hover {
  border-color: rgba(70, 231, 255, 0.5);
  transform: translateY(-1px);
}

.nominee-option:has(input:checked) {
  border-color: var(--gold);
  background: rgba(255, 216, 92, 0.14);
  animation: chosen-pop 420ms var(--motion-expressive);
}

.nominee-option.auto-filled {
  box-shadow: inset 4px 0 0 var(--cyan);
}

.nominee-option input {
  width: 20px;
  min-height: 20px;
  accent-color: var(--gold);
}

.option-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.option-copy strong {
  font-size: 15px;
  line-height: 1.18;
}

.option-copy small,
.odds,
.super-card p,
.empty-finalists,
.proof-card span {
  color: var(--muted);
  line-height: 1.35;
}

.odds {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 900;
}

.super-card {
  display: grid;
  align-content: start;
  gap: 14px;
}

.super-card p {
  min-height: 58px;
}

.super-card.has-entry {
  border-color: rgba(247, 213, 29, 0.68);
  background:
    linear-gradient(135deg, rgba(247, 213, 29, 0.12), transparent 42%),
    var(--panel);
}

.super-card.card-activated {
  animation: card-spotlight 720ms var(--motion-expressive);
}

.superlatives-page.ballot-complete #save-superlatives {
  animation: save-pulse 1.35s var(--motion-expressive) infinite;
}

.nomination-input {
  margin-top: auto;
}

.proof-card {
  min-height: 148px;
  padding: 22px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(240px, 320px);
  align-items: center;
  gap: 18px;
  position: relative;
  overflow: hidden;
}

.directions-card {
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: 0 24px 80px var(--shadow);
  padding: clamp(18px, 3vw, 28px);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  overflow: hidden;
}

.directions-card h2 {
  margin: 6px 0 12px;
  font-family: var(--display);
  font-size: clamp(38px, 5vw, 64px);
  line-height: 0.95;
}

.directions-card p {
  max-width: 860px;
  color: var(--muted);
  line-height: 1.5;
}

.cute-award {
  animation: trophy-curtsy 3.4s var(--motion-expressive) infinite;
}

.super-card:hover .cute-award,
.super-card.card-activated .cute-award {
  animation: trophy-tada 720ms var(--motion-expressive);
}

.super-card:nth-child(3n + 1) .cute-award {
  animation-delay: 0.15s;
}

.super-card:nth-child(3n + 2) .cute-award {
  animation-delay: 0.42s;
}

.super-card:nth-child(3n) .cute-award {
  animation-delay: 0.72s;
}

.proof-card strong {
  display: block;
  margin-bottom: 6px;
  font-size: 22px;
}

.disabled-upload {
  opacity: 0.58;
}

.admin-lock {
  padding: 18px;
}

.admin-dashboard {
  padding: 18px;
}

.admin-toolbar {
  justify-content: flex-end;
  margin-bottom: 16px;
}

.admin-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.admin-stats div {
  padding: 16px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.05);
}

.admin-stats strong {
  display: block;
  color: var(--gold);
  font-size: 28px;
}

.admin-stats span {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.leaderboard {
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.04);
}

.finalist-editor {
  margin-bottom: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.04);
}

.finalist-editor h3 {
  margin-bottom: 8px;
}

.finalist-editor p {
  color: var(--muted);
  margin-bottom: 14px;
}

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

.leaderboard h3 {
  margin-bottom: 12px;
}

.leader-list {
  display: grid;
  gap: 8px;
}

.leader-list div {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  background: rgba(255,255,255,0.06);
}

.leader-list span {
  color: var(--gold);
  font-weight: 900;
}

.leader-list em {
  color: var(--cyan);
  font-style: normal;
  font-weight: 900;
}

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

.admin-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 680px;
}

.admin-table th,
.admin-table td {
  text-align: left;
  padding: 12px;
  border-bottom: 1px solid var(--line);
}

.admin-table th {
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.audit-page {
  min-height: 100vh;
}

.audit-hero {
  padding: 18px clamp(16px, 3vw, 34px) 44px;
}

.audit-title {
  width: min(1240px, calc(100% - 32px));
  margin: 74px auto 0;
}

.audit-title h1 {
  max-width: 860px;
  font-size: clamp(48px, 8vw, 112px);
}

.audit-title p {
  max-width: 760px;
  margin-top: 20px;
  color: var(--muted);
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.42;
}

.audit-main {
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto 80px;
}

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

.audit-card,
.audit-list div {
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: 0 24px 80px var(--shadow);
  padding: 18px;
}

.audit-card h2,
.audit-card h3 {
  margin: 8px 0 10px;
}

.audit-card p,
.audit-list span {
  color: var(--muted);
  line-height: 1.45;
}

.audit-section {
  width: 100%;
}

.audit-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.audit-list div {
  display: grid;
  gap: 6px;
}

.toast {
  position: fixed;
  left: 50%;
  bottom: 20px;
  z-index: 30;
  max-width: min(560px, calc(100% - 32px));
  padding: 14px 18px;
  border: 1px solid var(--gold);
  background: var(--panel-strong);
  box-shadow: 6px 6px 0 var(--hot);
  color: var(--ink);
  font-weight: 900;
  transform: translate(-50%, 130%);
  transition: transform 0.24s var(--motion-expressive);
}

.toast.show {
  transform: translate(-50%, 0);
}

.hidden {
  display: none !important;
}

.reveal {
  opacity: 0;
  clip-path: inset(16% 0 0 0);
  transform: translateY(18px) rotate(0.35deg);
  transition: opacity 0.55s var(--motion-productive) var(--delay, 0ms), transform 0.55s var(--motion-expressive) var(--delay, 0ms), clip-path 0.55s var(--motion-productive) var(--delay, 0ms);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  clip-path: inset(0);
}

.reveal.is-past {
  transform: translateY(-8px) rotate(-0.15deg);
}

.selection-burst {
  position: absolute;
  left: 20px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--gold);
  pointer-events: none;
  transform: translate(-50%, -50%);
  box-shadow:
    0 0 0 0 var(--gold),
    18px 0 0 var(--hot),
    -16px 0 0 var(--cyan),
    0 18px 0 #f8f0b4,
    0 -16px 0 #8ed66f;
  animation: burst-out 620ms var(--motion-expressive) forwards;
}

@keyframes billboard-run {
  to { background-position-x: 220px; }
}

@keyframes slow-spin {
  to { rotate: 360deg; }
}

@keyframes glint {
  0%, 52% { transform: translateX(-120%); }
  64%, 100% { transform: translateX(120%); }
}

@keyframes marquee-sheen {
  to { background-position: 260px 0, 0 0; }
}

@keyframes paper-wipe {
  0% { clip-path: inset(0 100% 0 0); }
  100% { clip-path: inset(0); }
}

@keyframes entrance-card {
  to { transform: translateY(0); }
}

@keyframes entrance-out {
  to {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes title-mask {
  to { clip-path: inset(0); }
}

@keyframes paper-float {
  from { translate: 0 -8px; }
  to { translate: 0 10px; }
}

@keyframes boot-spotlight {
  0% { opacity: 0; transform: rotate(-16deg) scaleX(0.72); }
  24% { opacity: 0.78; }
  62% { opacity: 0.48; transform: rotate(11deg) scaleX(1.05); }
  100% { opacity: 0; transform: rotate(4deg) scaleX(1.1); }
}

@keyframes poster-spotlight-sweep {
  0%, 100% { opacity: 0.34; transform: translateX(-3%) rotate(-1deg); }
  48% { opacity: 0.78; transform: translateX(4%) rotate(1deg); }
}

@keyframes tony-turntable {
  0% { transform: rotateY(0deg) rotateX(8deg); }
  100% { transform: rotateY(360deg) rotateX(8deg); }
}

@keyframes anticipation {
  0% { transform: translateY(0) scale(1); }
  35% { transform: translateY(2px) scale(0.96); }
  100% { transform: translateY(-2px) scale(1.01); }
}

@keyframes chosen-pop {
  0% { transform: scale(1); }
  45% { transform: scale(1.018); }
  100% { transform: scale(1); }
}

@keyframes burst-out {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(0.2) rotate(0deg);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(2.8) rotate(24deg);
  }
}

@keyframes trophy-curtsy {
  0%, 72%, 100% {
    transform: translateZ(22px) rotate(0deg) translateY(0);
  }
  18% {
    transform: translateZ(22px) rotate(-4deg) translateY(-2px);
  }
  36% {
    transform: translateZ(22px) rotate(5deg) translateY(1px);
  }
  54% {
    transform: translateZ(22px) rotate(0deg) translateY(0);
  }
}

@keyframes trophy-tada {
  0% { transform: translateZ(22px) rotate(0deg) translateY(0) scale(1); }
  22% { transform: translateZ(22px) rotate(-8deg) translateY(-5px) scale(1.08); }
  44% { transform: translateZ(22px) rotate(8deg) translateY(-2px) scale(1.04); }
  70% { transform: translateZ(22px) rotate(-3deg) translateY(-1px) scale(1.02); }
  100% { transform: translateZ(22px) rotate(0deg) translateY(0) scale(1); }
}

@keyframes card-spotlight {
  0% { box-shadow: 0 24px 80px var(--shadow); }
  35% { box-shadow: 0 24px 80px var(--shadow), 0 0 0 8px rgba(247, 213, 29, 0.12), 0 0 44px rgba(247, 213, 29, 0.22); }
  100% { box-shadow: 0 24px 80px var(--shadow); }
}

@keyframes save-pulse {
  0%, 100% { box-shadow: 4px 4px 0 var(--hot), 0 0 0 rgba(247, 213, 29, 0); }
  48% { box-shadow: 4px 4px 0 var(--hot), 0 0 0 9px rgba(247, 213, 29, 0.12), 0 0 34px rgba(247, 213, 29, 0.34); }
}

@keyframes billboard-flicker {
  0%, 78%, 100% { filter: brightness(1); }
  82% { filter: brightness(1.18); }
  86% { filter: brightness(0.92); }
  90% { filter: brightness(1.1); }
}

@media (max-width: 980px) {
  .topbar,
  .hero-stage,
  .tony-hero,
  .super-hero,
  .identity-panel,
  .proof-card,
  .directions-card {
    grid-template-columns: 1fr;
  }

  .nav-links {
    justify-content: flex-start;
  }

  .category-grid,
  .super-grid,
  .audit-grid,
  .audit-list {
    grid-template-columns: 1fr;
  }

  .superlatives-page .super-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .superlatives-page .super-card,
  .superlatives-page .super-card:nth-child(1),
  .superlatives-page .super-card:nth-child(4),
  .superlatives-page .super-card:nth-child(5),
  .superlatives-page .super-card:nth-child(7),
  .superlatives-page .super-card:nth-child(9),
  .superlatives-page .super-card:nth-child(10),
  .superlatives-page .super-card:nth-child(12) {
    grid-column: auto;
  }

  .hero-stage {
    padding-top: 70px;
  }

  .tony-hero .poster-wall,
  .tony-hero .hero-copy,
  .tony-hero .countdown {
    grid-column: auto;
    grid-row: auto;
  }

  .poster-wall {
    min-height: 520px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(4, minmax(110px, 1fr));
    order: -1;
  }

  .poster-wall .paper-billboard {
    grid-column: auto;
    grid-row: auto;
  }

  .marquee-orbit {
    left: 60%;
    top: 42%;
  }

  .times-square-stack {
    order: -1;
    min-height: 390px;
  }

  .billboard-hero {
    width: 72%;
    height: 190px;
  }

  .billboard-tall {
    width: 42%;
    height: 270px;
  }
}

@media (max-width: 640px) {
  .hero {
    padding-inline: 12px;
  }

  .topbar {
    position: relative;
    top: 0;
  }

  .identity-form,
  .admin-lock {
    grid-template-columns: 1fr;
  }

  .tools-row,
  .hero-actions,
  .round-tabs {
    align-items: stretch;
  }

  .tools-row > *,
  .hero-actions > *,
  .round-tabs > * {
    flex: 1 1 100%;
  }

  .nominee-option {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .odds {
    grid-column: 2;
  }

  .admin-stats {
    grid-template-columns: 1fr 1fr;
  }

  .finalist-grid {
    grid-template-columns: 1fr;
  }

  .times-square-stack {
    min-height: 330px;
  }

  .paper-billboard {
    padding: 12px;
  }

  .poster-wall {
    min-height: 610px;
    gap: 8px;
  }

  .paper-billboard strong {
    font-size: 28px;
  }

  .billboard-hero {
    width: 78%;
    height: 156px;
    left: 0;
  }

  .billboard-tall {
    width: 42%;
    height: 220px;
    right: 1%;
  }

  .billboard-gold {
    width: 66%;
    height: 128px;
  }

  .billboard-skinny {
    width: 42%;
    height: 160px;
    left: 4%;
  }
}

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