:root{color-scheme:dark;--ink:#f8f3ee;--muted:#d2c8c3;--border:#5e432c;--gold:#f0ca7b;--scarlet:#ff766e;--silver:#efded5;--base:#0b0909;--panel:#181212;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(ellipse at 100% 5%,#391012 0,transparent 36rem),var(--base);color:var(--ink);min-height:100vh;padding-bottom:calc(78px + env(safe-area-inset-bottom))}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,summary{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.skip{position:fixed;top:-5rem;left:1rem;z-index:9;background:#170f0f;padding:12px}.skip:focus{top:1rem}.wrap{max-width:1080px;margin:auto;padding-inline:clamp(15px,4vw,42px)}header{border-bottom:1px solid #543a28;background:#0d0a0a}.bar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:11px;font-weight:950;letter-spacing:.1em;font-size:13px}.brand small{display:block;color:var(--muted);font-size:9px}.eyebrow{letter-spacing:.13em;font-weight:800;font-size:11px}.page{padding-top:clamp(22px,4vw,42px)}h1,h2,p{margin:0}h1{font-size:clamp(35px,6vw,66px);line-height:1.02;letter-spacing:-.06em}h2{font-size:clamp(21px,3vw,29px);letter-spacing:-.035em;margin:22px 0 13px}p{color:var(--muted);line-height:1.55}h1+p{margin-top:13px}.hero{position:relative;overflow:hidden;isolation:isolate;border-radius:24px;border:1px solid #795331;background:radial-gradient(ellipse at 90% 25%,#68101a 0,transparent 49%),linear-gradient(135deg,#120909,#2b1312 72%,#3c1014);min-height:340px;display:flex;align-items:center}.hero-copy{position:relative;z-index:1;padding:clamp(22px,5vw,56px);width:100%}.hero h1{font-size:clamp(33px,7.8vw,88px);font-weight:950;line-height:.95;margin:13px 0}.hero em{font-style:normal;color:#ede6e0;background:linear-gradient(100deg,#fff 5%,#d3c9c5 50%,#eee2d5 98%);background-clip:text;-webkit-text-fill-color:transparent}.eyebrow{color:var(--gold)}.venue{color:#eae0d7;margin-bottom:22px}.art{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:repeating-linear-gradient(131deg,transparent 0 34px,#d6ad6b0d 35px,transparent 36px 55px)}.art:before,.art:after{content:"";position:absolute;width:64%;height:74%;right:-18%;bottom:-32%;border:2px solid #e34649;transform:rotate(-29deg);box-shadow:0 0 25px #e132466c,inset 0 0 25px #d62b3e45;border-radius:50%}.art:after{right:-15%;bottom:-24%;border-color:#d7a94b;box-shadow:0 0 22px #e5a94165}.art span{position:absolute;color:#fff0bd;text-shadow:0 0 25px #f96757;font-size:clamp(20px,5vw,76px);right:8%;top:9%;opacity:.65}.art span:nth-child(2){right:25%;top:53%;font-size:28px}.art span:nth-child(3){right:5%;top:68%;font-size:18px}.art span:nth-child(4){right:19%;top:5%;font-size:20px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:46px;border:0;border-radius:11px;padding:10px 15px;background:var(--gold);color:#1c1108;font-weight:850}.primary:hover{background:#ffe6a9}.next{display:flex;gap:14px;align-items:center;background:#201413;border:1px solid var(--border);border-radius:15px;margin-top:15px;padding:12px 14px}.next-icon{font-size:24px;color:var(--scarlet)}.next p{font-size:13px}.next a{margin-left:auto;padding:9px;color:var(--gold);font-size:22px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{--accent:var(--gold);display:flex;gap:12px;align-items:center;padding:14px;min-height:92px;border:1px solid var(--border);background:linear-gradient(130deg,color-mix(in srgb,var(--accent) 9%,var(--panel)),var(--panel));border-radius:16px}.tile:hover{border-color:var(--accent)}.tile i{flex:none;display:grid;place-items:center;background:#160e0d;border:1px solid var(--border);color:var(--accent);width:38px;height:38px;border-radius:11px;font-size:21px;font-weight:850;font-style:normal}.tile strong,.tile small{display:block}.tile strong{font-size:17px}.tile small,small{color:var(--muted)}.tile b{margin-left:auto;color:var(--accent)}footer{font-size:12px;color:var(--muted);padding:25px 0 10px}nav{position:fixed;z-index:4;bottom:0;left:0;right:0;background:#100b0bf7;border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.nav-inner{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding-block:6px}.nav-inner a{text-align:center;font-weight:750;font-size:11px;padding:5px 0;border-radius:8px;color:var(--muted);min-height:48px}.nav-inner a span{display:block;font-size:19px;line-height:23px}.nav-inner a[aria-current]{background:#4b1118;color:var(--gold)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:15px;padding:18px;margin:15px 0}.panel h2:first-child{margin-top:0}.choices{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.choice{color:var(--ink);background:#211715;border:1px solid #997143;border-radius:9px;padding:9px 13px;min-height:44px}.choice[aria-pressed=true]{border-color:var(--gold);color:var(--gold);background:#641522}.choice:disabled{opacity:.9}.quiz-answer{display:block;width:100%;text-align:left;margin:7px 0}.quiz-answer.correct{border-color:#f5d67e}.quiz-answer.incorrect{border-color:#ff7a7c}label{display:block;margin:12px 0;color:var(--ink);font-weight:650}input:not([type=radio]),select{display:block;width:100%;min-height:43px;margin-top:6px;padding:8px;background:#130e0e;border:1px solid #9c7957;border-radius:8px;color:var(--ink)}input[type=radio]{accent-color:var(--gold);margin-right:9px}.radio{border:1px solid var(--border);border-radius:9px;padding:11px;cursor:pointer}.panel [role=status]{margin:9px 0 0}.bingo{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0}.bingo button{min-height:82px;padding:6px;overflow-wrap:anywhere}.photo img{display:block;width:100%;height:160px;object-fit:contain;background:#130e0e;border-radius:9px}.photo h3{margin-bottom:4px}.photo .choice{margin-top:8px}.review-image{max-width:180px;max-height:145px;display:block;margin:8px 0}.review-actions{display:flex;gap:6px;flex-wrap:wrap}summary{min-height:28px;font-weight:760}.tally{margin:8px 0}.hint{font-size:13px;margin:8px 0}@media(max-width:540px){.grid{gap:8px}.tile{padding:10px;gap:8px;align-items:flex-start;min-height:94px}.tile i{width:27px;height:27px;font-size:16px}.tile strong{font-size:14px}.tile small{font-size:12px;line-height:1.25;margin-top:4px}.tile b{display:none}.hero{min-height:285px}.hero-copy{padding-inline:16px}.hero h1{font-size:clamp(28px,8.1vw,44px)}}
.gallery-heading{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:22px 0 12px}.gallery-heading h2{margin:0}#gallery-more,#official-more{margin:12px 0}#official-photos .panel{margin:6px 0;min-width:0;overflow-wrap:anywhere}.photo img{height:clamp(120px,30vw,260px)}.photo .review-actions{margin-top:8px}.photo .review-actions .choice{margin:0}#gallery-status,#official-status{margin:8px 0}#photo-permission{display:inline;width:auto;min-height:0;margin:0 5px 0 0;accent-color:var(--gold)}.photo a{display:block}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(max(64px, calc((100% - 45px) / 10)), 1fr));
  gap: 5px;
}
.gallery-thumbnail {
  display: block;
  aspect-ratio: 1;
  border-radius: 4px;
  background: var(--panel);
}
.gallery-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

body:has(#photo-viewer[open]) { overflow: hidden; }
#photo-viewer {
  width: min(720px, calc(100% - 24px));
  max-height: calc(100dvh - 24px);
  padding: 0;
  color: var(--ink);
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 16px;
}
#photo-viewer::backdrop { background: #070505e8; }
.viewer-card { position: relative; padding: 58px 12px 12px; }
#viewer-image {
  display: block;
  width: 100%;
  height: min(65dvh, 620px);
  object-fit: contain;
  background: #0d0a0a;
  border-radius: 8px;
}
.viewer-close { position: absolute; top: 7px; right: 9px; font-size: 24px; line-height: 1; }
.viewer-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
}
.viewer-controls button { min-width: 48px; }
.viewer-controls [aria-disabled="true"] { opacity: .45; cursor: default; }

.schedule-notes { white-space: pre-line; margin-bottom: 10px; }
.running-order-link { margin-top: 8px; }
.editor-group { min-width: 0; border: 1px solid var(--border); border-radius: 12px; padding: 12px; margin: 10px 0 18px; }
.editor-group legend { font-weight: 800; padding: 0 5px; }
.editor-group .choice { margin: 4px; }
#editor-fields textarea { display: block; width: 100%; margin-top: 6px; padding: 9px; border: 1px solid #9c7957; border-radius: 8px; background: #130e0e; color: var(--ink); font: inherit; resize: vertical; }
#editor-fields input[type=checkbox] { display: inline; width: auto; min-height: 0; accent-color: var(--gold); }
#editor-fields a.choice { display: inline-flex; align-items: center; overflow-wrap: anywhere; }

/* Championship branding */
body {
  background:
    radial-gradient(ellipse at 0 12%, #42141980 0, transparent 32rem),
    radial-gradient(ellipse at 100% 55%, #3e151566 0, transparent 34rem),
    #0b0909;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(ellipse 37% 32% at 103% 29%, transparent 96%, #95734740 97%, transparent 99%),
    radial-gradient(ellipse 39% 34% at 102% 28%, transparent 96%, #c62f393f 97%, transparent 99%),
    radial-gradient(circle at 7% 22%, #e4b85e90 0 1px, transparent 2px),
    radial-gradient(circle at 93% 42%, #e4b85e70 0 1px, transparent 2px),
    radial-gradient(circle at 12% 62%, #e4b85e70 0 1px, transparent 2px),
    radial-gradient(circle at 88% 75%, #e4b85e70 0 1px, transparent 2px);
}
header { background: #0e0a0a; border-color: #65472c; }
.brand img { object-fit: contain; }
.brand span { font-size: 12px; letter-spacing: .2em; }
.brand small { color: var(--gold); letter-spacing: .15em; margin-top: 2px; }
.page > h1, .hero h1 {
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: -.045em;
  font-weight: 700;
}
.hero {
  min-height: 455px;
  border-color: #916738;
  border-radius: 21px;
  background: #13090a;
  box-shadow: 0 24px 70px #0008, inset 0 0 45px #9d171424;
}
.hero-copy { padding: clamp(23px, 5vw, 56px); }
.hero-logo {
  display: block;
  width: clamp(154px, 21vw, 240px);
  height: auto;
  max-width: 100%;
  margin-bottom: 24px;
  filter: drop-shadow(0 4px 12px #000a);
}
.hero h1 {
  font-size: clamp(46px, 7.4vw, 83px);
  line-height: .96;
  margin: 12px 0;
  overflow-wrap: anywhere;
  max-width: 80%;
  color: #fff7ef;
  text-shadow: 0 5px 22px #000;
}
.hero em {
  background: none;
  -webkit-text-fill-color: currentColor;
  color: #e5dcd6;
}
.hero .eyebrow { letter-spacing: .15em; }
.art {
  background: radial-gradient(ellipse at 76% 44%, #741b27 0, #320c12 34%, transparent 64%);
}
.hero-stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
  opacity: .52;
  filter: saturate(.65) sepia(.25);
  mask-image: linear-gradient(90deg, transparent 8%, #0005 48%, #000 96%);
}
.hero-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--stage-photo, url('/brand/stage-poster.webp')) right top / 100% auto no-repeat;
  background-position: right top calc(clamp(-350px, -31vw, -140px) + var(--stage-desktop-shift, 0px));
  mask-image: linear-gradient(180deg, #000 16%, #000b 36%, transparent 54%);
}
.hero-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 15%, #17090a55 58%, #17090a00 100%);
}
.hero-mirror {
  position: absolute;
  top: -28px;
  right: -18px;
  width: 132px;
  height: 122px;
  opacity: .48;
  background: url('/brand/championship-poster.webp') right top / 460px auto no-repeat;
  mask-image: radial-gradient(ellipse at top right, #000 35%, transparent 74%);
}
.hero-tower {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: -15%;
  width: auto;
  height: 104%;
  object-fit: contain;
  opacity: .9;
  filter: drop-shadow(0 0 20px #e52f3855);
}
.art::before, .art::after {
  z-index: 2;
  width: 80%;
  height: 46%;
  right: -23%;
  bottom: -24%;
  transform: rotate(-24deg);
  border: 1px solid #f8cb79;
  box-shadow: 0 -1px 14px #e3a84b94, 0 2px 14px #b5202ebe;
}
.art::after { bottom: -26%; right: -20%; border: 4px solid #b72d3c; }
.art span { z-index: 3; color: #f7d38d; text-shadow: 0 0 20px #f7a73c; }
.art span:nth-of-type(1) { right: 4%; top: 17%; font-size: 40px; }
.art span:nth-of-type(2) { right: 28%; top: 16%; font-size: 20px; }
.art span:nth-of-type(3) { right: 7%; top: 72%; font-size: 26px; }
.primary { background: linear-gradient(120deg, #ffe3a4, #d9ad5d); color: #1d1006; }
.primary:hover { background: #ffe7ab; }
.next { background: linear-gradient(110deg, #321316, #1c1412 54%); }
.next-icon { color: var(--gold); }
.tile {
  border-color: #62462e;
  background: linear-gradient(140deg, #2e1515 0, #181212 63%);
  box-shadow: inset 0 1px 0 #c28e451c;
}
.tile i { color: var(--gold); background: #281716; }
.tile .trophy-icon { font-size: 15px; }
.nav-inner a[aria-current] { box-shadow: inset 0 -2px 0 #ebbd6c; }
.choice[aria-pressed=true] { box-shadow: inset 0 0 0 1px #e6b76470; }
.bingo button[aria-pressed=true]::after { content: " ✓"; }
.quiz-answer.correct::after { content: " ✓"; }
.quiz-answer.incorrect::after { content: " ×"; }
#photo-viewer { border-color: #ad814e; }
#viewer-image { background: #0b0909; }
@media(max-width:680px) {
  .hero { min-height: 365px; }
  .hero-copy { padding: 28px 17px; }
  .hero-logo { margin-bottom: 16px; }
  .hero h1 { font-size: clamp(33px, 7.8vw, 55px); max-width: 100%; }
  .hero .eyebrow { max-width: 72%; }
  .hero-tower { right: -14%; bottom: -13%; height: 92%; opacity: .55; }
  .hero-stage { opacity: .35; }
  .hero-stage::before {
    background-size: max(100%, 410px) auto;
    background-position: right top calc(-126px + var(--stage-mobile-shift, 0px));
    mask-image: linear-gradient(180deg, #000 9%, #000a 25%, transparent 48%);
  }
  .hero-mirror { display: none; }
  .art span:nth-of-type(1) { font-size: 25px; }
}

.stage-position-preview {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: 2.45;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #13090a;
}
.stage-position-preview[data-layout="mobile"] { max-width: 360px; aspect-ratio: 1.12; }
.stage-position-preview .art { z-index: 0; }
.stage-position-preview .hero-stage { opacity: .83; }
.stage-position-preview .hero-stage::before {
  background-position: right top calc(-32cqw + var(--stage-desktop-shift, 0px));
}
.stage-position-preview[data-layout="mobile"] .hero-stage::before {
  background-size: max(100%, 410px) auto;
  background-position: right top calc(-126px + var(--stage-mobile-shift, 0px));
}
.stage-position-preview[data-layout="desktop"] .hero-stage::before { background-size: 100% auto; }
.stage-position-preview { container-type: inline-size; }
#editor-fields input[type=range] {
  border: 0;
  padding: 0;
  min-height: 44px;
  background: transparent;
  accent-color: var(--gold);
  cursor: pointer;
}
.stage-position-controls { margin-top: 12px; }

.custom-stage-photo .hero-stage::before,
.stage-position-preview[data-layout="desktop"] .custom-stage-photo .hero-stage::before {
  background-size: cover;
  background-position: center calc(50% + var(--stage-desktop-shift, 0px));
  mask-image: linear-gradient(180deg, #000 16%, #000b 52%, transparent 90%);
}
.stage-position-preview[data-layout="mobile"] .custom-stage-photo .hero-stage::before {
  background-size: cover;
  background-position: center calc(50% + var(--stage-mobile-shift, 0px));
}
@media (max-width: 680px) {
  #home .custom-stage-photo .hero-stage::before {
    background-position: center calc(50% + var(--stage-mobile-shift, 0px));
  }
}

@media (max-width: 680px) {
  body { padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)); }
  body > nav { padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
  .nav-inner { padding-block: 8px; }
  .nav-inner a { min-height: 54px; }
}

.cheer-results { list-style: none; margin: 10px 0 0; padding: 0; }
.cheer-results li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 5px 12px;
  padding: 9px 0;
  border-top: 1px solid var(--border);
}
.cheer-results strong { overflow-wrap: anywhere; }
.cheer-results span { font-size: 13px; color: var(--muted); }
.cheer-results progress { grid-column: 1 / -1; width: 100%; height: 10px; accent-color: var(--gold); }

.viewer-reactions { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; margin: 8px 0 4px; }
.viewer-reactions .choice { min-width: 44px; padding: 5px 7px; font-size: 14px; }
.reaction-status { font-size: 12px; text-align: center; }
#viewer-image { height: min(53dvh, 600px); }
.photo-rank { display: block; margin: 7px 0; color: var(--gold); }

#quiz-card { max-width: 760px; }
.quiz-counter { color: var(--gold); font-size: .85rem; font-weight: 800; }
.quiz-progress { display: block; width: 100%; height: 8px; margin: 8px 0 20px; accent-color: var(--gold); }
.quiz-options { display: grid; gap: 8px; }
.quiz-options .quiz-answer { display: flex; align-items: center; gap: 10px; min-height: 54px; margin: 0; }
.quiz-option-letter { min-width: 20px; color: var(--gold); font-weight: 800; }
.quiz-options .quiz-answer.correct::after, .quiz-options .quiz-answer.incorrect::after { margin-left: auto; }
.quiz-feedback:empty { display: none; }
.quiz-feedback { border-left: 3px solid var(--gold); background: #251b13; padding: 10px 12px; margin: 14px 0; }
.quiz-feedback-wrong { border-color: var(--scarlet); }
.quiz-feedback-right, .quiz-score { color: var(--gold); }
#quiz-card .quiz-score ~ button { margin-top: 12px; }

#quiz-card .quiz-feedback-wrong {
  padding: 14px 16px;
  border: 1px solid #ea7772;
  border-left-width: 5px;
  border-radius: 8px;
  background: #401a1b;
}
.quiz-feedback-heading { display: block; color: #ffaea5; font-size: 1.35rem; font-weight: 900; }
#quiz-card .quiz-correct-answer { margin-top: 5px; color: var(--ink); font-weight: 700; }

.quiz-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.quiz-toolbar .choice { font-size: .85rem; }

.quiz-result-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:12px 0; }
.quiz-result-stats > div { padding:9px; border:1px solid var(--border); border-radius:8px; }
.quiz-result-stats strong { font-size:1.2rem; color:var(--gold); }
.quiz-result-stats p { font-size:.8rem; }
.quiz-draw { border:1px solid var(--border); padding:12px; border-radius:8px; }
.quiz-draw h3 { margin:0 0 8px; }
#official-quiz-results > div:last-child { overflow-x:auto; }
.quiz-results-table { width:100%; border-collapse:collapse; text-align:left; font-size:.9rem; }
.quiz-results-table th, .quiz-results-table td { padding:8px; border-bottom:1px solid var(--border); vertical-align:top; }
.quiz-results-table th { color:var(--gold); }
.quiz-results-table td:last-child button { margin:0 4px 5px 0; }
#quiz-entry-dialog { margin:auto; width:min(92vw,680px); max-height:85dvh; overflow:auto; color:var(--ink); }
#quiz-entry-dialog::backdrop { background:#000b; }
.quiz-entry-answers li { margin-bottom:14px; }
#quiz-card form { margin-top:16px; }

#quiz-card > p + .primary { margin-top: 12px; }

.choice-rankings { list-style: none; margin: 10px 0 16px; padding: 0; }
.choice-rankings li { border-bottom: 1px solid var(--border); padding: 9px 0; }
.choice-ranking-heading { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; }
.choice-ranking-heading span { color: var(--muted); }
.choice-rankings progress { width: 100%; height: 10px; accent-color: var(--gold); }

.bingo-hero { position:relative; isolation:isolate; overflow:hidden; padding:clamp(16px,4vw,36px); border:1px solid #b78243; border-radius:18px;
  background:radial-gradient(ellipse at 77% 60%,#702025,transparent 64%),linear-gradient(125deg,#180908,#481217 72%,#1b0a0c); }
.bingo-hero h1 { position:relative; margin:8px 0 10px; font-size:clamp(1.8rem,7.5vw,4.25rem); line-height:1.05; color:#ffe8ab;
  font-family:Georgia,serif; font-weight:900; letter-spacing:.025em; text-shadow:0 2px #6e4124,0 0 16px #ffd97a72; }
.bingo-hero p { position:relative; max-width:40ch; color:#fff3e5; }
.bingo-tower { position:absolute; z-index:-1; right:-10px; bottom:-26px; width:clamp(105px,27%,210px); height:auto; opacity:.68; }
.bingo-art { display:flex; gap:clamp(8px,3vw,20px); }
.bingo-art span { display:inline-block; font-size:clamp(1.15rem,4vw,2rem); animation:bingo-float 3s ease-in-out infinite; }
.bingo-art span:nth-child(2n) { animation-delay:.6s; }
@keyframes bingo-float { 50% { transform:translateY(-5px) rotate(8deg); } }
.bingo-progress-panel { margin:12px 0 8px; padding:10px 12px; }
.bingo-progress-panel h2 { font-size:1.05rem; margin:0 0 6px; }
.bingo-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; text-align:center; }
.bingo-metrics > div { border:1px solid #886340; border-radius:7px; padding:4px; }
.bingo-metrics span { display:block; color:var(--muted); font-size:.75rem; }
.bingo-metrics strong { color:var(--gold); font-size:.92rem; }
.bingo-badge { margin-top:6px; color:#ffe4a0; font-weight:800; font-size:.85rem; }
.nationals-bingo-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(3px,1vw,8px); max-width:680px; margin:8px auto; }
.nationals-bingo-cell { position:relative; min-width:0; min-height:44px; aspect-ratio:1; border:1px solid #f4c46c88; border-radius:8px; padding:2px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; overflow:hidden; color:#fff6eb; text-align:center; line-height:1.06; font:inherit; }
.nationals-bingo-cell:focus-visible { outline-offset:1px; }
.bingo-colour-0 { background:linear-gradient(145deg,#7a1921,#470e14); }
.bingo-colour-1 { background:linear-gradient(145deg,#6a4b18,#392b11); }
.bingo-colour-2 { background:linear-gradient(145deg,#48505c,#252a34); }
.bingo-colour-3 { background:linear-gradient(145deg,#943044,#4f1727); }
.bingo-colour-4 { background:linear-gradient(145deg,#453346,#272134); }
.bingo-cell-icon { font-size:clamp(.86rem,4vw,1.75rem); }
.bingo-cell-label { font-size:clamp(.51rem,2.48vw,.95rem); line-height:1.08; font-weight:750; overflow-wrap:anywhere; }
.bingo-marked { color:#fff5d3; background:linear-gradient(145deg,#634c23,#352715); border-color:#f6ce72; }
.bingo-cell-tick { position:absolute; top:1px; right:3px; color:#fff394; font-size:clamp(.72rem,3.7vw,1.45rem); font-weight:900; text-shadow:0 1px 3px #211408; }
.bingo-free { background:linear-gradient(135deg,#ffe49b,#d39846); color:#211509; }
.bingo-free .bingo-cell-tick { color:#452608; text-shadow:none; }
.bingo-winner-square { animation:bingo-glow 1.8s ease-in-out infinite alternate; border:2px solid #ffe290; }
@keyframes bingo-glow { to { box-shadow:inset 0 0 12px #ffdb7b; } }
.bingo-honesty { color:var(--muted); font-size:.85rem; }
.bingo-game-controls { margin-top:8px; }
.bingo-dialog { position:fixed; width:min(92vw,590px); max-height:86dvh; overflow:auto; margin:auto; padding:16px;
  border:1px solid var(--gold); border-radius:14px; color:var(--ink); background:#241513; }
.bingo-dialog::backdrop { background:#000b; }
.bingo-dialog h2 { margin:0 0 8px; color:#ffdd87; }
.bingo-dialog .choice { margin:10px 6px 0 0; }
.bingo-celebrate { isolation:isolate; text-align:center; padding:20px; background:radial-gradient(ellipse at top,#743127,#25120e 70%); }
.bingo-celebrate-double { background:radial-gradient(ellipse at top,#703b72,#25120e 75%); }
.bingo-celebrate-full { background:radial-gradient(ellipse at top,#985c18,#2b140d 75%); }
.bingo-celebration-icon { font-size:3rem; animation:bingo-pop .55s ease-out; }
.bingo-confetti { position:absolute; z-index:-1; inset:0; overflow:hidden; pointer-events:none; }
.bingo-confetti span { position:absolute; left:var(--particle-x); top:-18px; color:#ffe07b; animation:bingo-confetti-fall 1.8s var(--particle-delay) ease-out both; }
.bingo-confetti:not(.bingo-confetti-full) span:nth-child(3n) { color:#ff7182; }
.bingo-confetti:not(.bingo-confetti-full) span:nth-child(4n) { color:#f7efff; }
.bingo-confetti-line span:nth-child(4n) { animation-name:bingo-fireworks; }
@keyframes bingo-confetti-fall { to { transform:translate(15px,330px) rotate(300deg); opacity:.28; } }
@keyframes bingo-fireworks { 0% { opacity:0; transform:translateY(165px) scale(.1); } 45% { opacity:1; transform:translateY(55px) scale(2.6); } 100% { opacity:0; transform:translate(20px,105px) scale(.6); } }
@keyframes bingo-pop { 0% { opacity:0; transform:scale(.45) rotate(-15deg); } 70% { transform:scale(1.12); } }
.bingo-table-wrap { overflow-x:auto; }
.bingo-winner-result { margin-top:10px; color:var(--gold); }
.bingo-winner-reveal { animation:bingo-pop .55s ease-out; }
.bingo-result-filters { display:grid; gap:8px; grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr)); }
@media (prefers-reduced-motion:reduce) {
  .bingo-art span,.bingo-winner-square,.bingo-celebration-icon,.bingo-confetti span,.bingo-winner-reveal { animation:none; }
}

.team-schedule-filters { display:grid; gap:8px; grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr)); }
.team-schedule-entry { padding:10px 0; border-bottom:1px solid var(--border); }
.team-schedule-entry:last-child { border-bottom:0; }
.team-schedule-entry p { margin:3px 0 0; }
.team-schedule-time { color:var(--gold); }
.running-import { margin:9px 0; }
.running-import h4 { margin:0 0 8px; }
.running-import input.running-unmatched-toggle { display:inline; width:auto; min-height:0; }
.running-review-list { max-height:440px; overflow-y:auto; margin:9px 0; }
.running-review-list details { padding:7px; border-bottom:1px solid var(--border); }
.running-review-list summary { font-weight:600; overflow-wrap:anywhere; }

.announcement-card { border:1px solid var(--border); border-left:3px solid var(--gold); border-radius:9px;
  background:var(--panel); padding:12px 14px; margin:10px 0; overflow-wrap:anywhere; }
.announcement-pinned { border-left-width:5px; border-color:#ca9e51; }
.announcement-card h2,.announcement-card h3 { margin:3px 0 5px; }
.announcement-meta { color:var(--gold); font-size:.8rem; font-weight:800; }
.announcement-message { white-space:pre-wrap; }
.announcement-card time { display:block; font-size:.8rem; color:var(--muted); margin-top:6px; }
.announcement-card a.choice { display:inline-flex; align-items:center; margin-top:7px; }
.announcement-feed-link { display:inline-flex; align-items:center; min-height:44px; color:var(--gold); text-decoration:underline; }
.announcement-edit textarea { display:block; width:100%; padding:8px; border:1px solid var(--border);
  border-radius:6px; background:var(--panel); color:var(--ink); font:inherit; }
.announcement-pin-input input[type=checkbox] { display:inline; width:auto; min-height:0; margin-left:7px; }

#announcement-ticker { display:flex; width:100%; min-height:44px; align-items:stretch; background:#2b1014;
  border-bottom:1px solid #866039; color:#fff6e3; }
#announcement-ticker[hidden] { display:none; }
.ticker-label { flex:none; display:grid; place-items:center; padding:0 10px; background:#7c2129;
  color:#fff4df; font-size:.75rem; font-weight:900; letter-spacing:.09em; }
#announcement-ticker-link { flex:1; min-width:0; overflow:hidden; display:flex; align-items:center;
  container-type:inline-size; color:inherit; }
#announcement-ticker-link:focus-visible { outline-offset:-2px; }
#announcement-ticker-track { display:flex; flex:none; align-items:center; width:max-content; white-space:nowrap;
  padding-left:10px; font-size:.88rem; animation:hub-ticker var(--ticker-time,25s) linear infinite; }
#announcement-ticker-track span + span::before { content:"✦"; padding:0 18px; color:var(--gold); }
@keyframes hub-ticker {
  from { transform:translateX(min(45cqw,180px)); }
  to { transform:translateX(-100%); }
}
#announcement-ticker-toggle { flex:none; min-width:44px; border:none; border-left:1px solid #866039;
  color:var(--gold); background:transparent; cursor:pointer; }
.ticker-paused #announcement-ticker-track,
#announcement-ticker-link:hover #announcement-ticker-track,
#announcement-ticker-link:focus-visible #announcement-ticker-track { animation-play-state:paused; }
@media (prefers-reduced-motion:reduce) {
  #announcement-ticker-track { display:block; flex:1; min-width:0; overflow:hidden; animation:none; }
  #announcement-ticker-track span { display:block; overflow:hidden; text-overflow:ellipsis; }
  #announcement-ticker-track span + span, #announcement-ticker-toggle { display:none; }
}

.header-credit { display:flex; align-items:center; justify-content:flex-end; gap:7px; min-width:0;
  color:var(--muted); text-align:right; font-size:.72rem; line-height:1.25; }
.header-credit strong { display:block; color:var(--ink); font-size:.8rem; }
.header-credit img { flex:none; width:40px; height:40px; object-fit:contain; }
@media (max-width:420px) {
  .header-credit { gap:4px; font-size:.64rem; }
  .header-credit strong { font-size:.7rem; }
  .header-credit img { width:33px; height:33px; }
}

.site-credit { margin-top:24px; padding-bottom:8px; }
.site-credit .header-credit { justify-content:center; padding-top:14px; border-top:1px solid var(--border); }
