/* Arcadathon public experience — premium arcade editorial system. */
:root {
  --arcade-bg: #080a0f;
  --arcade-panel: #10141d;
  --arcade-panel-2: #171c27;
  --arcade-ink: #f5f2e9;
  --arcade-muted: #a8afbd;
  --arcade-rule: #2b3240;
  --arcade-yellow: #f3f356;
  --arcade-coral: #ff6b6b;
  --arcade-cyan: #72e9ff;
  --arcade-green: #8ff0a4;
  --arcade-display: "Chakra Petch", ui-sans-serif, sans-serif;
  --arcade-body: "DM Sans", ui-sans-serif, system-ui, sans-serif;
  --arcade-pixel: "Press Start 2P", "Courier New", monospace;
}

.arcadathon-public,
.warmup-page {
  background: var(--arcade-bg);
  color: var(--arcade-ink);
  font-family: var(--arcade-body);
  font-weight: 400;
  min-height: 100dvh;
}

.arcadathon-public::before,
.warmup-page::before {
  background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 100% 4px;
  content: "";
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: 20;
}

.arcadathon-public h1,
.arcadathon-public h2,
.arcadathon-public h3,
.warmup-page h1,
.warmup-page h2,
.warmup-page h3 {
  color: var(--arcade-ink);
  font-family: var(--arcade-display);
  letter-spacing: -.045em;
  line-height: .98;
  overflow-wrap: normal;
}

.arcadathon-public p,
.warmup-page p { text-wrap: pretty; }
.arcadathon-public i[data-lucide], .warmup-page i[data-lucide] { width: 1em; height: 1em; stroke-width: 2; }

.skip-link {
  background: var(--arcade-yellow);
  color: #090b0f;
  left: 1rem;
  padding: .8rem 1rem;
  position: fixed;
  top: -5rem;
  z-index: 100;
}
.skip-link:focus { top: 1rem; }

.public-nav,
.warmup-nav {
  align-items: center;
  border-bottom: 1px solid var(--arcade-rule);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  min-height: 76px;
  padding: 0 clamp(1.25rem, 4vw, 4rem);
  position: relative;
  z-index: 30;
}
.public-nav__brand { text-decoration: none; justify-self: start; }
.public-nav__links { display: flex; gap: 2rem; }
.public-nav__links a {
  color: var(--arcade-muted);
  font-size: .84rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-decoration: none;
}
.public-nav__links a:hover { color: var(--arcade-ink); }
.public-nav > .button { justify-self: end; }

.arcade-brand {
  align-items: baseline;
  color: var(--arcade-ink);
  display: inline-flex;
  font-family: var(--arcade-pixel);
  font-size: clamp(2.2rem, 6.4vw, 6.4rem);
  letter-spacing: -.065em;
  line-height: 1.12;
  text-shadow: .06em .06em 0 #202737;
}
.arcade-brand__prompt { color: var(--arcade-coral); font-size: .45em; margin-right: .18em; }
.arcade-brand__cursor { animation: cursor-blink 1s steps(1) infinite; background: var(--arcade-yellow); height: .7em; margin-left: .12em; width: .1em; }
.arcade-brand--compact { font-size: clamp(.75rem, 1.4vw, 1.05rem); letter-spacing: -.06em; text-shadow: none; }
.arcade-brand--compact .arcade-brand__cursor { display: none; }
@keyframes cursor-blink { 50% { opacity: 0; } }

.button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 0;
  cursor: pointer;
  display: inline-flex;
  font: 700 .9rem/1 var(--arcade-body);
  gap: .6rem;
  justify-content: center;
  min-height: 48px;
  padding: .9rem 1.2rem;
  text-decoration: none;
  transition: transform 150ms ease, background 150ms ease, color 150ms ease, border-color 150ms ease;
}
.button:hover { transform: translate(-2px, -2px); }
.button:active { transform: translate(0); }
.button--primary { background: var(--arcade-yellow); box-shadow: 5px 5px 0 var(--arcade-coral); color: #0a0c11; }
.button--light { background: var(--arcade-ink); color: #0a0c11; }
.button--small { min-height: 42px; padding: .7rem 1rem; }
.button--outline { border-color: var(--arcade-rule); color: var(--arcade-ink); }
.button--outline:hover { border-color: var(--arcade-yellow); }
.button--ticket { background: var(--arcade-yellow); color: #0a0c11; width: 100%; }
.button--check { background: var(--arcade-ink); color: #0a0c11; margin-top: 1rem; }
.button--support { background: transparent; border-color: var(--arcade-rule); color: var(--arcade-ink); justify-self: end; }
.text-link, .text-button { align-items: center; background: none; border: 0; color: var(--arcade-ink); cursor: pointer; display: inline-flex; font: 600 .9rem var(--arcade-body); gap: .45rem; padding: .7rem 0; text-decoration: underline; text-decoration-color: var(--arcade-rule); text-underline-offset: .3rem; }
.text-link:hover, .text-button:hover { text-decoration-color: var(--arcade-yellow); }

.public-hero {
  display: grid;
  gap: clamp(2.5rem, 6vw, 7rem);
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .7fr);
  margin: 0 auto;
  max-width: 1440px;
  min-height: calc(100vh - 76px);
  padding: clamp(4rem, 9vw, 8rem) clamp(1.25rem, 5vw, 5rem) clamp(5rem, 9vw, 8rem);
}
.public-hero__copy { align-self: center; }
.public-hero__copy, .event-ticket { min-width: 0; }
.public-hero h1 .arcade-brand { font-size: clamp(2.6rem, 4.75vw, 4.8rem); }
.eyebrow, .section-label {
  color: var(--arcade-yellow);
  font-family: var(--arcade-display);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.public-hero h1 { margin-top: 2rem; }
.hero-countdowns { border: 1px solid var(--arcade-rule); display: grid; grid-template-columns: 1fr 1fr; margin-top: 1.4rem; max-width: 650px; }
.hero-countdown { background: #0c1018; padding: .85rem 1rem; }
.hero-countdown + .hero-countdown { border-left: 1px solid var(--arcade-rule); }
.hero-countdown > span { color: var(--arcade-muted); display: block; font: 700 .58rem var(--arcade-display); letter-spacing: .12em; margin-bottom: .45rem; }
.hero-countdown strong { align-items: baseline; color: var(--arcade-ink); display: flex; font-family: var(--arcade-display); gap: .35rem; }
.hero-countdown b { color: var(--arcade-yellow); font-size: 1.35rem; }
.hero-countdown small { color: #7f8898; font-size: .5rem; letter-spacing: .08em; margin-right: .25rem; }
.hero-countdown--ready b { color: var(--arcade-cyan); }
.public-hero__headline { color: var(--arcade-ink); font: 600 clamp(1.7rem, 3.3vw, 3.4rem)/1.03 var(--arcade-display); letter-spacing: -.045em; margin-top: 2.2rem; max-width: 15ch; }
.public-hero__promise { color: var(--arcade-muted); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.6; margin-top: 1.5rem; max-width: 54ch; }
.public-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 2.2rem; }
.public-hero__note { color: #798292; font-size: .75rem; margin-top: 1rem; }

.event-ticket {
  align-self: center;
  background: var(--arcade-panel);
  border: 1px solid #3b4454;
  box-shadow: 14px 14px 0 #050609, 14px 14px 0 1px #2a303c;
  padding: 1rem;
  position: relative;
  transform: rotate(1.2deg);
}
.event-ticket::before, .event-ticket::after { background: var(--arcade-bg); border: 1px solid #3b4454; border-radius: 50%; content: ""; height: 22px; position: absolute; top: 55%; width: 22px; z-index: 2; }
.event-ticket::before { left: -13px; }
.event-ticket::after { right: -13px; }
.event-ticket__topline, .event-ticket__bar { color: var(--arcade-muted); display: flex; font: 700 .64rem var(--arcade-display); justify-content: space-between; letter-spacing: .1em; padding: .2rem 0 .8rem; }
.event-ticket__topline span:first-child { color: var(--arcade-yellow); }
.event-ticket__screen { background: #090c14; border: 1px solid var(--arcade-rule); height: 180px; overflow: hidden; position: relative; }
.event-ticket__screen::before { background-image: radial-gradient(#273043 1px, transparent 1px); background-size: 12px 12px; content: ""; inset: 0; position: absolute; }
.event-ticket__admit { color: var(--arcade-cyan); font: .55rem var(--arcade-pixel); left: 18px; letter-spacing: .08em; position: absolute; top: 18px; }
.event-ticket__title { bottom: 40px; color: var(--arcade-ink); font: clamp(2.35rem, 4vw, 4rem)/.88 var(--arcade-display); left: 18px; letter-spacing: -.055em; position: absolute; text-transform: uppercase; }
.event-ticket__title::first-line { color: var(--arcade-yellow); }
.event-ticket__serial { bottom: 14px; color: #748197; font: .5rem var(--arcade-pixel); letter-spacing: .08em; position: absolute; right: 18px; }
.event-ticket__details { display: grid; grid-template-columns: 1fr 1fr; }
.event-ticket__details div { border-bottom: 1px solid var(--arcade-rule); min-height: 76px; padding: .9rem .4rem; }
.event-ticket__details div:nth-child(odd) { border-right: 1px solid var(--arcade-rule); }
.event-ticket__details span, .event-ticket__price span { color: #778092; display: block; font: 700 .62rem var(--arcade-display); letter-spacing: .12em; }
.event-ticket__details strong { display: block; font: 600 .95rem/1.35 var(--arcade-display); margin-top: .35rem; }
.event-ticket__price { align-items: end; border-top: 2px dashed #465165; display: flex; justify-content: space-between; margin-top: .7rem; padding: 1.2rem .4rem; }
.event-ticket__price strong { color: var(--arcade-yellow); font: 700 2.6rem/1 var(--arcade-display); }
.event-ticket__review, .review-note { color: #727b8b; font-size: .7rem; line-height: 1.4; margin-top: .8rem; }

.signal-strip { border-block: 1px solid var(--arcade-rule); color: #70798a; display: flex; font: 700 .66rem var(--arcade-display); justify-content: space-around; letter-spacing: .16em; overflow: hidden; padding: 1rem; white-space: nowrap; }
.signal-strip span::before { color: var(--arcade-coral); content: "■"; margin-right: 1rem; }

.editorial-section { margin: 0 auto; max-width: 1280px; padding: clamp(5rem, 10vw, 10rem) clamp(1.25rem, 5vw, 4rem); }
.editorial-section h2, .registration-shell__intro h2 { font-size: clamp(2.7rem, 6vw, 6rem); max-width: 12ch; }
.editorial-section--split { display: grid; gap: 4rem; grid-template-columns: .75fr 1.25fr; }
.lede { color: var(--arcade-muted); font-size: clamp(1.1rem, 2vw, 1.5rem); line-height: 1.55; max-width: 54ch; }
.value-ledger { border-top: 1px solid var(--arcade-rule); margin-top: 3rem; }
.value-ledger article { display: grid; gap: 1rem; grid-template-columns: 3rem 9rem 1fr; padding: 1.5rem 0; border-bottom: 1px solid var(--arcade-rule); }
.value-ledger article > span { color: var(--arcade-coral); font: .7rem var(--arcade-pixel); }
.value-ledger h3 { font-size: 1.3rem; letter-spacing: -.02em; }
.value-ledger p { color: var(--arcade-muted); line-height: 1.55; }

.day-section { max-width: none; background: #0c0f16; border-block: 1px solid var(--arcade-rule); display: grid; gap: 6rem; grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); padding-inline: max(clamp(1.25rem, 5vw, 4rem), calc((100vw - 1280px) / 2)); }
.section-intro h2 { margin-top: 1rem; }
.section-intro > p:last-child { color: var(--arcade-muted); line-height: 1.6; margin-top: 1.5rem; max-width: 46ch; }
.run-of-show { list-style: none; }
.run-of-show__item { display: grid; gap: 1rem; grid-template-columns: 6rem 3rem 1fr; min-height: 120px; position: relative; }
.run-of-show__item:not(:last-child)::before { background: var(--arcade-rule); content: ""; height: 100%; left: 7.45rem; position: absolute; top: 2rem; width: 1px; }
.run-of-show__time { color: var(--arcade-cyan); font: 700 .76rem var(--arcade-display); padding-top: .55rem; }
.run-of-show__marker { align-items: center; background: var(--arcade-panel-2); border: 1px solid var(--arcade-rule); display: flex; height: 3rem; justify-content: center; position: relative; z-index: 1; }
.run-of-show__marker span { font: .58rem var(--arcade-pixel); }
.run-of-show h3 { font-size: 1.5rem; letter-spacing: -.025em; margin-top: .35rem; }
.run-of-show__item > div:last-child p { color: var(--arcade-muted); line-height: 1.5; margin-top: .5rem; max-width: 52ch; }

.warmup-story { align-items: center; display: grid; gap: 6rem; grid-template-columns: 1fr .85fr; }
.warmup-story h2 { margin-top: 1rem; }
.warmup-story h2 span { color: var(--arcade-yellow); }
.warmup-story .lede { margin-top: 1.5rem; }
.policy-flag { align-items: flex-start; border: 1px solid #6d5737; color: #d0b98d; display: flex; gap: 1rem; margin: 2rem 0; padding: 1rem; }
.policy-flag i { color: var(--arcade-yellow); flex: 0 0 auto; margin-top: .2rem; }
.policy-flag p { font-size: .83rem; line-height: 1.5; }
.unlock-console { background: #0b0e14; border: 1px solid #354052; box-shadow: 10px 10px 0 #050608; }
.unlock-console__bar { border-bottom: 1px solid var(--arcade-rule); display: grid; font: 700 .62rem var(--arcade-display); grid-template-columns: 1fr auto auto; gap: 1rem; letter-spacing: .1em; padding: .8rem 1rem; }
.unlock-console__bar > span:first-child { background: var(--arcade-coral); height: .55rem; width: .55rem; }
.unlock-console__bar > span:last-child { color: var(--arcade-yellow); }
.unlock-console__count { border-bottom: 1px solid var(--arcade-rule); color: var(--arcade-yellow); font: 700 7rem/.8 var(--arcade-display); padding: 2rem; }
.unlock-console__count span { color: var(--arcade-muted); font: 700 .7rem var(--arcade-display); letter-spacing: .15em; margin-left: .5rem; }
.unlock-console ol { list-style: none; }
.unlock-console li { align-items: center; border-bottom: 1px solid var(--arcade-rule); display: grid; gap: 1rem; grid-template-columns: 2.5rem 1fr; padding: 1.1rem; }
.unlock-console li:last-child { border: 0; }
.unlock-console li > span { align-items: center; border: 1px solid var(--arcade-rule); display: flex; height: 2.5rem; justify-content: center; }
.unlock-console .is-complete > span { background: var(--arcade-green); color: #071009; }
.unlock-console .is-active > span { background: var(--arcade-yellow); color: #0a0c11; }
.unlock-console .is-locked { opacity: .55; }
.unlock-console strong { font: 600 1rem var(--arcade-display); }
.unlock-console small { color: var(--arcade-muted); display: block; margin-top: .25rem; }

.support-story { display: grid; gap: 5rem; grid-template-columns: 1.1fr .9fr; }
.support-bot-card { background: var(--arcade-cyan); color: #081016; min-height: 420px; padding: clamp(2rem, 5vw, 4rem); position: relative; }
.support-bot-card__copy > span { font: 700 .65rem var(--arcade-display); letter-spacing: .1em; }
.support-bot-card__copy > strong { display: block; font: 700 clamp(1.7rem, 3vw, 3rem)/1.05 var(--arcade-display); letter-spacing: -.04em; margin-top: 1rem; }
.support-bot-card__message { background: #081016; color: var(--arcade-ink); font-size: .88rem; line-height: 1.5; margin: 3rem 0 0 auto; max-width: 360px; padding: 1rem; position: relative; }
.support-story__copy { align-self: center; }
.support-story__copy h2 { font-size: clamp(2.4rem, 5vw, 4.8rem); margin-top: 1rem; }
.support-story__copy p:not(.section-label) { color: var(--arcade-muted); line-height: 1.6; margin-top: 1.5rem; }
.support-story__copy .text-link { margin-top: 1rem; }
.team-story { border-top: 1px solid var(--arcade-rule); display: grid; gap: 5rem; grid-template-columns: .8fr 1.2fr; }
.team-story__people { border-top: 1px solid var(--arcade-rule); }
.team-story__people article { align-items: start; border-bottom: 1px solid var(--arcade-rule); display: grid; gap: 1.5rem; grid-template-columns: 4.5rem 1fr; padding: 1.7rem 0; }
.team-story__initial { align-items: center; background: var(--arcade-panel-2); border: 1px solid var(--arcade-rule); color: var(--arcade-yellow); display: flex; font: .9rem var(--arcade-pixel); height: 4.5rem; justify-content: center; }
.team-story__people h3 { font-size: 1.5rem; }
.team-story__role { color: var(--arcade-cyan) !important; font: 700 .68rem var(--arcade-display); letter-spacing: .08em; margin-top: .35rem; text-transform: uppercase; }
.team-story__people article p:last-child { color: var(--arcade-muted); line-height: 1.55; margin-top: .7rem; }
.pixel-helper { background: #071017; box-shadow: inset 12px 0 #071017, inset -12px 0 #071017, 0 12px #071017, 0 -12px #071017; height: 76px; margin: 3rem 0 1.5rem 1rem; position: relative; width: 96px; }
.pixel-helper::before, .pixel-helper::after { background: var(--arcade-cyan); content: ""; height: 12px; position: absolute; top: 24px; width: 12px; }
.pixel-helper::before { left: 24px; }.pixel-helper::after { right: 24px; }
.pixel-helper__leg { background: #071017; bottom: -24px; height: 24px; position: absolute; width: 18px; }
.pixel-helper__leg:nth-last-child(2) { left: 12px; }.pixel-helper__leg:last-child { right: 12px; }
.pixel-helper__smile { border-bottom: 7px solid var(--arcade-cyan); border-left: 7px solid var(--arcade-cyan); border-right: 7px solid var(--arcade-cyan); bottom: 14px; height: 13px; left: 31px; position: absolute; width: 34px; }
.pixel-helper__antenna { background: #071017; height: 24px; position: absolute; top: -31px; width: 8px; }
.pixel-helper__antenna::before { background: var(--arcade-yellow); box-shadow: 0 0 0 4px #071017; content: ""; height: 8px; left: 0; position: absolute; top: -5px; width: 8px; }
.pixel-helper__antenna--left { left: 20px; transform: rotate(-12deg); }.pixel-helper__antenna--right { right: 20px; transform: rotate(12deg); }
.pixel-helper--small { background: var(--arcade-yellow); box-shadow: inset 6px 0 var(--arcade-yellow), inset -6px 0 var(--arcade-yellow), 0 6px var(--arcade-yellow), 0 -6px var(--arcade-yellow); height: 38px; margin: 12px; width: 48px; }
.pixel-helper--small::before, .pixel-helper--small::after { background: #0a0d12; height: 6px; top: 12px; width: 6px; }
.pixel-helper--small::before { left: 12px; }.pixel-helper--small::after { right: 12px; }
.pixel-helper--small .pixel-helper__leg { background: var(--arcade-yellow); bottom: -12px; height: 12px; width: 9px; }
.pixel-helper--small .pixel-helper__leg:nth-last-child(2) { left: 6px; }.pixel-helper--small .pixel-helper__leg:last-child { right: 6px; }
.pixel-helper--small .pixel-helper__smile { border-width: 0 3px 3px; bottom: 7px; height: 6px; left: 16px; width: 16px; }
.pixel-helper--small > span:not([class]) { background: var(--arcade-yellow); bottom: -12px; height: 12px; position: absolute; width: 9px; }
.pixel-helper--small > span:not([class]):first-child { left: 6px; }.pixel-helper--small > span:not([class]):last-child { right: 6px; }
.pixel-helper--micro { background: var(--arcade-yellow); box-shadow: inset 3px 0 var(--arcade-yellow), inset -3px 0 var(--arcade-yellow), 0 3px var(--arcade-yellow), 0 -3px var(--arcade-yellow); height: 18px; margin: 0 3px; width: 24px; }
.pixel-helper--micro::before, .pixel-helper--micro::after { background: #0a0d12; height: 3px; top: 6px; width: 3px; }
.pixel-helper--micro::before { left: 6px; }.pixel-helper--micro::after { right: 6px; }
.pixel-helper--micro span { display: none; }

.assurance { border-top: 1px solid var(--arcade-rule); display: grid; gap: 5rem; grid-template-columns: .8fr 1.2fr; }
.assurance__grid { border-top: 1px solid var(--arcade-rule); display: grid; grid-template-columns: 1fr 1fr; }
.assurance__grid article { border-bottom: 1px solid var(--arcade-rule); padding: 1.5rem; }
.assurance__grid article:nth-child(odd) { border-right: 1px solid var(--arcade-rule); }
.assurance__grid h3 { font-size: 1.2rem; }
.assurance__grid p { color: var(--arcade-muted); font-size: .9rem; line-height: 1.55; margin-top: .7rem; }

.pricing-section { background: var(--arcade-yellow); color: #0a0c11; display: grid; gap: 5rem; grid-template-columns: 1.1fr .9fr; max-width: none; padding-inline: max(clamp(1.25rem, 5vw, 4rem), calc((100vw - 1280px) / 2)); }
.pricing-section h2, .pricing-section h3, .pricing-section .section-label { color: #0a0c11; }
.pricing-section__sub { max-width: 46ch; margin-top: 1.5rem; }
.includes-list { list-style: none; margin-top: 2rem; max-width: 44rem; }
.includes-list li { align-items: flex-start; border-top: 1px solid rgba(10,12,17,.25); display: grid; gap: .8rem; grid-template-columns: 1.2rem 1fr; padding: .85rem 0; }
.pricing-section__dates { background: #0a0c11; color: var(--arcade-ink); padding: 2rem; }
.pricing-section__dates h3 { color: var(--arcade-ink); font-size: 2rem; }
.pricing-section__dates > p { color: var(--arcade-muted); margin-top: .7rem; }
.pricing-section__dates ul { list-style: none; margin-top: 2rem; }
.cohort-date { border-top: 1px solid var(--arcade-rule); }
.cohort-date:last-child { border-bottom: 1px solid var(--arcade-rule); }
.cohort-date .date-card__link { align-items: center; display: grid; gap: 1rem; grid-template-columns: 3rem 1fr auto; min-height: 74px; text-decoration: none; }
.cohort-date .date-card__link > span { color: var(--arcade-coral); font: .65rem var(--arcade-pixel); }
.cohort-date time { font: 600 1rem var(--arcade-display); }
.cohort-date strong { color: var(--arcade-muted); font-size: .75rem; }
.cohort-date a:hover time { color: var(--arcade-yellow); }
.cohort-date [aria-disabled="true"] { cursor: not-allowed; opacity: .55; }

.faq-section { display: grid; gap: 5rem; grid-template-columns: .8fr 1.2fr; }
.faq-section .faqs { margin: 0; max-width: none; }
.faq-section .faq { background: transparent; border: 0; border-top: 1px solid var(--arcade-rule); border-radius: 0; }
.faq-section .faq:last-child { border-bottom: 1px solid var(--arcade-rule); }
.faq-section .faq summary { font: 600 1.1rem var(--arcade-display); padding: 1.4rem 0; }
.faq-section .faq p { color: var(--arcade-muted); padding: 0 3rem 1.5rem 0; }

.registration-shell { align-items: start; display: grid; grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); }
.registration-shell__intro { align-self: start; background: var(--arcade-coral); color: #10080a; padding: clamp(3rem, 7vw, 7rem) clamp(1.25rem, 5vw, 5rem); }
.coder-callout { background: var(--arcade-yellow); color: #0a0c11; overflow: hidden; padding: clamp(4rem, 9vw, 9rem) clamp(1.25rem, 5vw, 5rem); }
.coder-callout p { font: 700 clamp(3.5rem, 10vw, 10rem)/.86 var(--arcade-display); letter-spacing: -.07em; max-width: 10ch; text-transform: uppercase; }
.registration-shell__intro .section-label, .registration-shell__intro h2 { color: #10080a; }
.registration-shell__intro > p:not(.section-label) { line-height: 1.6; margin-top: 1.5rem; max-width: 42ch; }
.registration-shell__intro ul { border-top: 1px solid rgba(16,8,10,.3); list-style: none; margin-top: 2.5rem; }
.registration-shell__intro li { border-bottom: 1px solid rgba(16,8,10,.3); font: 600 .9rem var(--arcade-display); padding: .9rem 0; }
.registration-shell__form { background: #0d1017; padding: clamp(3rem, 7vw, 7rem) clamp(1.25rem, 7vw, 7rem); }
.registration-shell__form .section--register { max-width: 42rem; padding: 0; }
.registration-shell__form .section__title { font-size: clamp(2.2rem, 4vw, 3.8rem); }
.registration-shell__form .section__title .tick { display: none; }
.registration-shell__form .section__lede { color: var(--arcade-muted); }
.registration-shell .register { max-width: none; }
.registration-shell .field input, .registration-shell .field select { background: var(--arcade-panel); border-color: var(--arcade-rule); border-radius: 0; color: var(--arcade-ink); }
.registration-shell .field label { font-size: .85rem; }
.registration-shell .consents { border-color: var(--arcade-rule); border-radius: 0; }
.registration-shell .register__submit { background: var(--arcade-yellow); border-radius: 0; box-shadow: 5px 5px 0 var(--arcade-coral); color: #0a0c11; }
.registration-shell .register-success { border: 1px solid var(--arcade-green); border-radius: 0; background: var(--arcade-panel); }

.public-footer { align-items: end; display: grid; gap: 3rem; grid-template-columns: 1fr auto; padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 5vw, 5rem) 2rem; }
.public-footer > div > p { font: 600 clamp(2rem, 5vw, 5rem)/1 var(--arcade-display); letter-spacing: -.05em; margin-bottom: 2rem; max-width: 13ch; }
.public-footer nav { display: flex; flex-wrap: wrap; gap: 1.5rem; justify-content: end; }
.public-footer nav a { color: var(--arcade-muted); font-size: .8rem; }
.public-footer > p { border-top: 1px solid var(--arcade-rule); color: #6c7482; font-size: .7rem; grid-column: 1 / -1; padding-top: 1rem; }
.public-facts { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }

/* Warm-up */
.warmup-nav { background: #0c0f16; grid-template-columns: 1fr auto 1fr; }
.warmup-nav > a { justify-self: start; text-decoration: none; }
.warmup-nav > span { color: var(--arcade-muted); font: 700 .68rem var(--arcade-display); letter-spacing: .14em; }
.warmup-main { margin: 0 auto; max-width: 1180px; padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 4vw, 3rem); }
.warmup-lock { margin: 3rem auto; max-width: 760px; text-align: center; }
.warmup-lock__icon { align-items: center; background: var(--arcade-panel); border: 1px solid var(--arcade-rule); color: var(--arcade-yellow); display: flex; height: 72px; justify-content: center; margin: 2rem auto; width: 72px; }
.warmup-lock__icon i { height: 30px; width: 30px; }
.warmup-lock h1, .warmup-workspace h1 { font-size: clamp(3rem, 7vw, 6.5rem); }
.warmup-lock h1 span { color: var(--arcade-yellow); }
.warmup-lock > p:not(.section-label):not(.real-game-lock) { color: var(--arcade-muted); font-size: 1.1rem; line-height: 1.6; margin: 1.5rem auto; max-width: 52ch; }
.countdown { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin: 2.5rem auto; max-width: 560px; }
.countdown > div { background: var(--arcade-panel); border: 1px solid var(--arcade-rule); padding: 1.3rem; }
.countdown strong { display: block; font: 700 clamp(2.5rem, 7vw, 5rem)/1 var(--arcade-display); }
.countdown span { color: var(--arcade-muted); font: 700 .65rem var(--arcade-display); letter-spacing: .14em; }
.real-game-lock { align-items: center; border: 1px solid #335343; color: #b6dac0; display: flex; gap: 1rem; margin: 2rem 0; padding: 1rem; text-align: left; }
.warmup-lock > .button span { color: var(--arcade-yellow); font-size: .62rem; margin-left: .6rem; }
.warmup-workspace__head { align-items: end; display: grid; gap: 4rem; grid-template-columns: 1fr 320px; }
.warmup-workspace__head > div:first-child > p:last-child { color: var(--arcade-muted); line-height: 1.6; margin-top: 1.5rem; max-width: 52ch; }
.warmup-progress-card { background: var(--arcade-panel); border: 1px solid var(--arcade-rule); padding: 1.25rem; }
.warmup-progress-card > span { font: 600 .9rem var(--arcade-display); }
.warmup-progress-card > div { background: #242a35; height: 8px; margin: 1rem 0; }
.warmup-progress-card i { background: var(--arcade-yellow); display: block; height: 100%; transition: width 250ms ease; width: 0; }
.warmup-progress-card small { color: #737c8c; }
.warmup-guardrail { align-items: center; background: #111a18; border: 1px solid #2c4a3c; display: flex; gap: 1rem; margin: 3rem 0 2rem; padding: 1rem; }
.warmup-guardrail > i { color: var(--arcade-green); flex: 0 0 auto; }
.warmup-guardrail p { color: #b8d0c0; line-height: 1.45; }
.warmup-checks { border-top: 1px solid var(--arcade-rule); }
.warmup-check { border-bottom: 1px solid var(--arcade-rule); display: grid; gap: 2rem; grid-template-columns: 4rem 1fr; padding: 2rem 0; }
.warmup-check.is-complete { background: rgba(143,240,164,.035); }
.warmup-check__number { color: var(--arcade-coral); font: .7rem var(--arcade-pixel); padding-top: .4rem; }
.warmup-check h3 { font-size: 1.6rem; }
.warmup-check > div:last-child > p:first-of-type { color: var(--arcade-muted); margin-top: .5rem; }
.warmup-check__status { color: #788190; font-size: .75rem; margin-top: .8rem; }
.warmup-check .text-button { display: flex; margin-top: .7rem; }
.audio-confirm { align-items: center; display: flex; flex-wrap: wrap; gap: 1.2rem; }
.audio-confirm[hidden] { display: none; }
.warmup-check.is-complete .warmup-check__status { color: var(--arcade-green); }
.key-test { align-items: center; display: flex; gap: 1rem; margin-top: 1rem; }
.key-test[hidden] { display: none; }
kbd { align-items: center; background: var(--arcade-panel-2); border: 1px solid var(--arcade-rule); box-shadow: 0 3px 0 #030407; display: inline-flex; font: 1rem var(--arcade-body); height: 42px; justify-content: center; width: 42px; }
.key-test__player { background: var(--arcade-cyan); display: block; height: 18px; transition: transform 100ms ease; width: 18px; }
.key-test p { color: var(--arcade-muted); font-size: .8rem; }
.check-confirm, .loop-quiz label { align-items: center; color: var(--arcade-muted); display: flex; gap: .7rem; margin-top: 1rem; }
.check-confirm input, .loop-quiz input { accent-color: var(--arcade-yellow); height: 20px; width: 20px; }
.paste-label { color: var(--arcade-muted); display: block; font-size: .8rem; margin-top: 1rem; }
#practice-paste { background: var(--arcade-panel); border: 1px solid var(--arcade-rule); color: var(--arcade-ink); font: inherit; margin-top: .4rem; min-height: 46px; padding: .7rem; width: min(100%, 420px); }
.loop-quiz { border: 0; margin-top: 1rem; }
.loop-quiz legend { font-weight: 600; }
.warmup-complete { align-items: center; background: var(--arcade-green); color: #071009; display: grid; gap: 2rem; grid-template-columns: 4rem 1fr; margin-top: 3rem; padding: 2rem; }
.warmup-complete[hidden] { display: none; }
.warmup-complete > span i { height: 48px; width: 48px; }
.warmup-complete h2, .warmup-complete p { color: #071009; }
.warmup-complete h2 { font-size: 2.4rem; }
.warmup-complete > div > p:first-child { font: 700 .65rem var(--arcade-display); letter-spacing: .15em; }

.support-panel { background: #0c1017; border-left: 1px solid #465062; box-shadow: -20px 0 60px rgba(0,0,0,.5); height: 100dvh; overflow-y: auto; padding: 1.5rem; position: fixed; right: 0; top: 0; width: min(440px, 100vw); z-index: 80; }
.support-panel__head { align-items: center; border-bottom: 1px solid var(--arcade-rule); display: grid; gap: 1rem; grid-template-columns: 70px 1fr auto; padding-bottom: 1rem; }
.support-panel__head > div:nth-child(2) > span { color: var(--arcade-yellow); font: 700 .62rem var(--arcade-display); letter-spacing: .12em; }
.support-panel__head h2 { font-size: 1.5rem; margin-top: .3rem; }
.icon-button { align-items: center; background: transparent; border: 1px solid var(--arcade-rule); color: var(--arcade-ink); cursor: pointer; display: flex; height: 44px; justify-content: center; width: 44px; }
.support-panel__topics { display: grid; gap: .5rem; margin-top: 1.5rem; }
.support-panel__topics button { background: var(--arcade-panel); border: 1px solid var(--arcade-rule); color: var(--arcade-ink); cursor: pointer; font: 500 .9rem var(--arcade-body); min-height: 48px; padding: .8rem; text-align: left; }
.support-panel__topics button:hover { border-color: var(--arcade-yellow); }
.support-answer { background: var(--arcade-panel-2); border: 1px solid var(--arcade-rule); line-height: 1.55; margin: 1.5rem 0; padding: 1rem; }
.support-answer ol { color: var(--arcade-muted); margin: .8rem 0 0 1.2rem; }
.support-panel__mock { color: #717a89; font-size: .72rem; line-height: 1.5; margin-top: 1rem; }

@media (max-width: 900px) {
  .public-nav { grid-template-columns: 1fr auto; }
  .public-nav__links { display: none; }
  .public-hero, .editorial-section--split, .day-section, .warmup-story, .support-story, .team-story, .assurance, .pricing-section, .faq-section, .registration-shell { grid-template-columns: 1fr; }
  .public-hero { min-height: auto; }
  .event-ticket { max-width: 560px; transform: none; }
  .day-section, .pricing-section { gap: 3.5rem; }
  .support-bot-card { min-height: 380px; }
  .assurance__grid { margin-top: 0; }
  .warmup-workspace__head { align-items: stretch; grid-template-columns: 1fr; }
  .public-footer { grid-template-columns: 1fr; }
  .public-footer nav { justify-content: start; }
}

@media (max-width: 600px) {
  .hero-countdowns { grid-template-columns: 1fr; }
  .hero-countdown + .hero-countdown { border-left: 0; border-top: 1px solid var(--arcade-rule); }
  .public-nav, .warmup-nav { min-height: 66px; padding-inline: 1rem; }
  .public-nav > .button { display: none; }
  .public-hero { gap: 3rem; padding-top: 3.5rem; }
  .public-hero > * { max-width: 100%; min-width: 0; width: 100%; }
  .arcade-brand, .public-hero h1 .arcade-brand { font-size: clamp(1.6rem, 8.5vw, 2.2rem); }
  .arcade-brand__break { display: block; }
  .public-hero__headline { font-size: 2rem; }
  .public-hero__actions { align-items: stretch; flex-direction: column; }
  .public-hero__actions .button { width: 100%; }
  .signal-strip { gap: 2rem; justify-content: start; }
  .editorial-section { padding-block: 5rem; }
  .editorial-section h2, .registration-shell__intro h2 { font-size: 2.8rem; }
  .value-ledger article { grid-template-columns: 2rem 1fr; }
  .value-ledger article p { grid-column: 2; }
  .run-of-show__item { grid-template-columns: 1fr; padding: 0 0 2rem 3.5rem; }
  .run-of-show__item:not(:last-child)::before { left: 1.45rem; }
  .run-of-show__marker { left: 0; position: absolute; top: 0; width: 3rem; }
  .run-of-show__time { padding-top: 0; }
  .unlock-console__count { font-size: 5rem; }
  .support-bot-card { min-height: 0; }
  .support-bot-card__message { margin-top: 2rem; max-width: none; width: auto; }
  .assurance__grid { grid-template-columns: 1fr; }
  .assurance__grid article:nth-child(odd) { border-right: 0; }
  .cohort-date .date-card__link { grid-template-columns: 2.5rem 1fr; }
  .cohort-date strong { grid-column: 2; margin-top: -.8rem; padding-bottom: .7rem; }
  .warmup-nav { grid-template-columns: 1fr auto; }
  .warmup-nav > span { display: none; }
  .button--support { font-size: 0; min-width: 48px; padding: .6rem; }
  .button--support .pixel-helper { margin-inline: auto; }
  .warmup-lock { margin-top: 1rem; }
  .countdown strong { font-size: 2.5rem; }
  .countdown > div { padding: 1rem .5rem; }
  .warmup-check { gap: 1rem; grid-template-columns: 2rem 1fr; }
  .key-test { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  .arcade-brand__cursor { animation: none; opacity: 1; }
  .button, .warmup-progress-card i, .key-test__player { transition: none; }
}

/* ---- Arcadathon music library (landing teaser, dice, /library/) ---- */
.library-teaser { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); align-items: start; }
.library-teaser__count { color: var(--arcade-yellow, #ffd166); font: 700 .95rem var(--arcade-display, inherit); letter-spacing: .04em; }
.library-dice { background: var(--arcade-panel, #10141d); border: 1px solid var(--arcade-rule, #2a3040); border-radius: 18px; padding: 1.4rem; display: grid; gap: .9rem; }
.button--dice { justify-content: center; gap: .7rem; min-height: 78px; padding: 1rem 1.6rem; border-radius: 999px; font: 700 1.35rem var(--arcade-display, inherit); letter-spacing: .04em; background: var(--arcade-yellow, #ffd166); color: #111; border: 0; box-shadow: 0 0 0 6px rgba(255, 209, 102, .18), 0 12px 30px rgba(255, 209, 102, .25); cursor: pointer; transition: transform .12s ease; }
.button--dice:hover, .button--dice:focus-visible { transform: translateY(-2px) scale(1.02); }
.button--dice:active { transform: scale(.98); }
.button--dice i, .button--dice svg { width: 2rem; height: 2rem; }
.library-dice__status { color: var(--arcade-muted, #a8afbd); font-size: .9rem; margin: 0; }
.library-dice__result { border-top: 1px solid var(--arcade-rule, #2a3040); padding-top: .9rem; display: grid; gap: .5rem; }
.library-dice__result strong { font: 700 1.35rem var(--arcade-display, inherit); }
.library-dice__result p { margin: 0; color: var(--arcade-muted, #a8afbd); }
.lib-badge { display: inline-flex; width: max-content; padding: .25rem .6rem; border-radius: 999px; border: 1px solid var(--arcade-rule, #2a3040); color: var(--arcade-muted, #a8afbd); font: 700 .68rem var(--arcade-display, inherit); letter-spacing: .08em; text-transform: uppercase; }
.lib-badge--approved { border-color: #7dd87d; color: #9be89b; }
.lib-play { display: inline-flex; align-items: center; gap: .5rem; padding: .6rem .9rem; border-radius: 999px; border: 1px solid var(--arcade-rule, #2a3040); background: var(--arcade-panel-2, #171c27); color: var(--arcade-ink, #f5f2e9); cursor: pointer; font: 600 .9rem inherit; }
.lib-play [data-lucide="pause"], .lib-play.is-playing [data-lucide="play"] { display: none; }
.lib-play.is-playing [data-lucide="pause"] { display: inline-block; }
.lib-play.is-playing { border-color: var(--arcade-yellow, #ffd166); }
.lib-play small { color: var(--arcade-muted, #a8afbd); font-variant-numeric: tabular-nums; }
.library-hero h1 { font: 700 clamp(2rem, 5vw, 3.2rem) var(--arcade-display, inherit); margin: .3rem 0 .8rem; }
.library-hero__intro { max-width: 760px; color: var(--arcade-muted, #a8afbd); }
.library-hero__status { color: var(--arcade-yellow, #ffd166); font-size: .9rem; }
.lib-filters { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); align-items: end; margin-bottom: 1.2rem; }
.lib-filters__search { grid-column: 1 / -1; }
.lib-filters label { color: var(--arcade-muted, #a8afbd); font: .7rem var(--arcade-display, inherit); letter-spacing: .08em; text-transform: uppercase; }
.lib-filters input, .lib-filters select { background: #0b1018; border: 1px solid var(--arcade-rule, #2a3040); border-radius: 10px; color: var(--arcade-ink, #f5f2e9); display: block; margin-top: .35rem; min-height: 46px; padding: .65rem; width: 100%; font: inherit; }
.lib-results-head { display: flex; justify-content: space-between; gap: 1rem; border-block: 1px solid var(--arcade-rule, #2a3040); padding: .8rem 0; margin-bottom: 1rem; color: var(--arcade-muted, #a8afbd); font-size: .85rem; flex-wrap: wrap; }
.lib-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.lib-card { background: var(--arcade-panel, #10141d); border: 1px solid var(--arcade-rule, #2a3040); border-radius: 16px; padding: 1.1rem; display: grid; gap: .5rem; border-top: 4px solid #5ad1e6; }
.lib-card--violet { border-top-color: #9a6bff; } .lib-card--green { border-top-color: #7dd87d; } .lib-card--coral { border-top-color: #ff795c; } .lib-card--yellow { border-top-color: #ffd166; }
.lib-card__head { display: flex; justify-content: space-between; gap: .6rem; align-items: center; }
.lib-card__style { color: #5ad1e6; font: 700 .68rem var(--arcade-display, inherit); letter-spacing: .08em; text-transform: uppercase; }
.lib-card h3 { margin: 0; font: 700 1.15rem var(--arcade-display, inherit); }
.lib-card__meta, .lib-card__desc { margin: 0; color: var(--arcade-muted, #a8afbd); font-size: .88rem; line-height: 1.45; }
.lib-card__fits { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; }
.lib-card__fits span { border: 1px solid var(--arcade-rule, #2a3040); border-radius: 999px; padding: .2rem .55rem; font-size: .72rem; }
.lib-card__actions { display: flex; justify-content: space-between; align-items: center; gap: .6rem; margin-top: .3rem; }
.lib-card__id { color: var(--arcade-muted, #a8afbd); font: .68rem ui-monospace, monospace; }
.lib-empty { color: var(--arcade-muted, #a8afbd); grid-column: 1 / -1; }
@media (max-width: 820px) { .library-teaser { grid-template-columns: 1fr; } }
