/* ============================================================
   DEBRIEF PRESENTATION — TheGreenBow Hackathon 2026.4
   Reuses style.css tokens (aurora, BTTF chrome, tardigrade)
   ============================================================ */

body.debrief-body { overflow: hidden; }

/* ─── Home link ─────────────────────────────────────────── */
.home-link {
  position: fixed;
  top: 1.8vh;
  left: 1.8vw;
  z-index: 20;
  padding: 0.6vh 1.2vw;
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.65rem, 1vw, 0.85rem);
  letter-spacing: 0.25em;
  color: var(--green-2);
  text-decoration: none;
  border: 1.5px solid var(--green-2);
  border-radius: 4px;
  background: rgba(8,4,22,0.65);
  box-shadow: 0 0 12px rgba(38,255,156,0.35);
  text-shadow: 0 0 5px var(--green-2);
  transition: all .25s ease;
}
.home-link:hover {
  background: rgba(38,255,156,0.15);
  box-shadow: 0 0 22px rgba(38,255,156,0.65);
  transform: translateY(-1px);
}

/* ─── Deck container ────────────────────────────────────── */
.deck {
  position: fixed;
  inset: 0;
  z-index: 2;
  overflow: hidden;
}

.slide {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 6vh 5vw 10vh;
  opacity: 0;
  pointer-events: none;
  transform: translateX(50px) scale(0.985);
  transition: opacity .55s ease, transform .55s ease;
}

.slide.active {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0) scale(1);
}
.slide.prev {
  transform: translateX(-50px) scale(0.985);
}

/* Re-trigger inner animations each time slide activates */
.slide.active [data-count],
.slide.active .stat,
.slide.active .profile-card,
.slide.active .gift-card,
.slide.active .teams-deck li {
  animation-play-state: running;
}

/* ─── Generic slide typography ──────────────────────────── */
.slide-title {
  font-family: 'Monoton', 'Orbitron', sans-serif;
  font-weight: 400;
  font-size: clamp(1.8rem, 5vw, 4rem);
  letter-spacing: 0.1em;
  line-height: 1.05;
  text-align: center;
  text-transform: uppercase;
  color: var(--green-2);
  text-shadow:
    1px 1px 0 var(--violet-3),
    2px 2px 0 var(--violet-3),
    3px 3px 0 var(--violet-4),
    4px 4px 0 var(--violet-4),
    5px 5px 0 #2a0a55,
    0 0 14px var(--green-2),
    0 0 30px var(--green-3),
    0 0 60px var(--violet-3);
  margin-bottom: 1.2vh;
}

.slide-kicker {
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.8rem, 1.4vw, 1.1rem);
  letter-spacing: 0.15em;
  color: var(--violet-1);
  text-align: center;
  text-shadow: 0 0 6px var(--violet-3);
  margin-bottom: 3vh;
}

.slide-footnote {
  margin-top: 3vh;
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.7rem, 1.2vw, 0.95rem);
  letter-spacing: 0.18em;
  color: var(--green-1);
  text-shadow: 0 0 6px var(--green-2);
}

/* ══════════════════════════════════════════════════════════
   1 · COVER
   ══════════════════════════════════════════════════════════ */
.slide-cover { justify-content: center; gap: 1.2vh; }

.cover-tag {
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.7rem, 1.2vw, 1rem);
  letter-spacing: 0.5em;
  color: var(--violet-1);
  text-shadow: 0 0 6px var(--violet-3);
}

.cover-title {
  font-size: clamp(3rem, 10vw, 8rem);
  margin: 0;
}

.cover-sub {
  font-family: 'Monoton', 'Orbitron', sans-serif;
  font-size: clamp(1.4rem, 4vw, 3.4rem);
  letter-spacing: 0.25em;
  color: var(--violet-2);
  text-shadow:
    1px 1px 0 var(--green-4),
    2px 2px 0 #003a1e,
    0 0 14px var(--violet-2),
    0 0 30px var(--violet-3),
    0 0 60px var(--green-3);
}

.cover-tardi {
  margin: 1.5vh 0 0;
}
.cover-tardi img {
  width: clamp(140px, 18vw, 240px);
  filter:
    drop-shadow(0 0 14px rgba(38,255,156,0.6))
    drop-shadow(0 0 30px rgba(155,61,255,0.6));
  animation: tardiFloat 4s ease-in-out infinite;
}

.cover-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.2vw;
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.7rem, 1.2vw, 1rem);
  letter-spacing: 0.25em;
  color: var(--green-2);
  text-shadow: 0 0 6px var(--green-2);
  margin-top: 1vh;
}
.cover-meta .sep { color: var(--violet-2); text-shadow: 0 0 6px var(--violet-2); }

.cover-hint {
  margin-top: 2vh;
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.65rem, 1vw, 0.85rem);
  letter-spacing: 0.3em;
  color: var(--violet-1);
  opacity: 0.7;
  animation: hintPulse 2s ease-in-out infinite;
}
@keyframes hintPulse {
  0%, 100% { opacity: 0.45; }
  50%      { opacity: 0.95; }
}

/* ══════════════════════════════════════════════════════════
   2 · EN CHIFFRES
   ══════════════════════════════════════════════════════════ */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2vw;
  width: min(1100px, 92vw);
  margin-top: 1vh;
}

.stat {
  position: relative;
  background: rgba(8, 4, 22, 0.78);
  border: 2px solid;
  border-radius: 10px;
  padding: 3vh 1vw 2vh;
  text-align: center;
  overflow: hidden;
  opacity: 0;
  transform: translateY(30px);
  animation: statIn .7s ease-out forwards;
  animation-play-state: paused;
}
.slide.active .stat:nth-child(1) { animation-delay: .1s; }
.slide.active .stat:nth-child(2) { animation-delay: .25s; }
.slide.active .stat:nth-child(3) { animation-delay: .4s; }
.slide.active .stat:nth-child(4) { animation-delay: .55s; }

@keyframes statIn {
  to { opacity: 1; transform: translateY(0); }
}

.stat-green  { border-color: var(--green-2);  box-shadow: 0 0 18px rgba(38,255,156,0.40), inset 0 0 24px rgba(38,255,156,0.08); }
.stat-violet { border-color: var(--violet-2); box-shadow: 0 0 18px rgba(155,61,255,0.45), inset 0 0 24px rgba(155,61,255,0.10); }

.stat::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, currentColor, transparent);
  opacity: 0.7;
}
.stat-green  { color: var(--green-2); }
.stat-violet { color: var(--violet-2); }

.stat-value {
  font-family: 'Orbitron', monospace;
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.04em;
  text-shadow: 0 0 12px currentColor, 0 0 28px currentColor;
}
.stat-value .unit {
  font-size: 0.55em;
  margin-left: 0.1em;
  opacity: 0.9;
}

.stat-label {
  margin-top: 1vh;
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.6rem, 1vw, 0.85rem);
  letter-spacing: 0.25em;
  color: #d8ffec;
  text-shadow: 0 0 5px currentColor;
}
.stat-violet .stat-label { color: #e9c9ff; }

.stat-icon {
  position: absolute;
  bottom: 1vh;
  right: 1vw;
  font-size: clamp(1.1rem, 2vw, 1.6rem);
  opacity: 0.35;
}

/* ══════════════════════════════════════════════════════════
   3 · PROFILS
   ══════════════════════════════════════════════════════════ */
.profiles-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5vw;
  width: min(1200px, 94vw);
}
@media (max-width: 1100px) {
  .profiles-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
  .profiles-grid { grid-template-columns: repeat(2, 1fr); }
}

.profile-card {
  background: rgba(8, 4, 22, 0.82);
  border: 1.5px solid var(--green-2);
  border-radius: 10px;
  padding: 2.5vh 1vw 2vh;
  text-align: center;
  box-shadow: 0 0 14px rgba(38,255,156,0.25), inset 0 0 18px rgba(38,255,156,0.06);
  opacity: 0;
  transform: translateY(22px) rotate(-1deg);
  animation: cardIn .6s ease-out forwards;
  animation-play-state: paused;
  transition: transform .3s ease, box-shadow .3s ease;
}
.profile-card:nth-child(even) {
  border-color: var(--violet-2);
  box-shadow: 0 0 14px rgba(155,61,255,0.30), inset 0 0 18px rgba(155,61,255,0.08);
  transform: translateY(22px) rotate(1deg);
}
.slide.active .profile-card:nth-child(1) { animation-delay: .05s; }
.slide.active .profile-card:nth-child(2) { animation-delay: .15s; }
.slide.active .profile-card:nth-child(3) { animation-delay: .25s; }
.slide.active .profile-card:nth-child(4) { animation-delay: .35s; }
.slide.active .profile-card:nth-child(5) { animation-delay: .45s; }

@keyframes cardIn {
  to { opacity: 1; transform: translateY(0) rotate(0); }
}

.profile-card:hover {
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 0 26px rgba(38,255,156,0.55), 0 0 44px rgba(155,61,255,0.35);
}

.profile-icon {
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  line-height: 1;
  filter: drop-shadow(0 0 8px currentColor);
  margin-bottom: 1vh;
}

.profile-name {
  font-family: 'Orbitron', sans-serif;
  font-weight: 900;
  font-size: clamp(0.65rem, 1vw, 0.85rem);
  letter-spacing: 0.15em;
  color: var(--green-2);
  text-shadow: 0 0 6px var(--green-2);
  margin-bottom: 0.6vh;
  min-height: 2.4em;
}
.profile-card:nth-child(even) .profile-name {
  color: var(--violet-2);
  text-shadow: 0 0 6px var(--violet-2);
}

.profile-tech {
  display: inline-block;
  padding: 0.4vh 0.9vw;
  margin-bottom: 1vh;
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.6rem, 0.95vw, 0.78rem);
  letter-spacing: 0.2em;
  border: 1px solid currentColor;
  border-radius: 3px;
  color: var(--violet-1);
}
.profile-card:nth-child(even) .profile-tech { color: var(--green-1); }

.profile-desc {
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.6rem, 0.95vw, 0.8rem);
  color: #d8ffec;
  opacity: 0.85;
  line-height: 1.4;
}

/* ══════════════════════════════════════════════════════════
   4 · TARDIK
   ══════════════════════════════════════════════════════════ */
.slide-tardik {
  flex-direction: row;
  gap: 4vw;
}
@media (max-width: 900px) {
  .slide-tardik { flex-direction: column; gap: 2vh; }
}

.tardik-bigwrap {
  position: relative;
  width: clamp(260px, 36vw, 460px);
  height: clamp(260px, 36vw, 460px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.tardik-big {
  width: 75%;
  height: auto;
  filter:
    drop-shadow(0 0 18px rgba(38,255,156,0.65))
    drop-shadow(0 0 38px rgba(155,61,255,0.65));
  animation: tardiFloat 4s ease-in-out infinite;
  position: relative;
  z-index: 2;
}

.tardik-orbit {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1.5px dashed rgba(199,125,255,0.45);
  animation: orbitSpin linear infinite;
}
.orbit-1 { inset: 0;   border-color: rgba(38,255,156,0.45);  animation-duration: 22s; }
.orbit-2 { inset: 7%;  border-color: rgba(199,125,255,0.55); animation-duration: 16s; animation-direction: reverse; border-style: dotted; }
.orbit-3 { inset: 14%; border-color: rgba(38,255,156,0.35);  animation-duration: 30s; border-style: dotted; }

@keyframes orbitSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.tardik-text {
  max-width: 38vw;
}
@media (max-width: 900px) {
  .tardik-text { max-width: 92vw; text-align: center; }
}

.tardik-kicker {
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.75rem, 1.2vw, 1rem);
  letter-spacing: 0.3em;
  color: var(--violet-1);
  text-shadow: 0 0 6px var(--violet-3);
  margin-bottom: 2.5vh;
}

.tardik-quote {
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.95rem, 1.5vw, 1.3rem);
  line-height: 1.55;
  color: #d8ffec;
  border-left: 3px solid var(--green-2);
  padding: 1vh 1.5vw;
  background: rgba(38,255,156,0.06);
  box-shadow: inset 0 0 18px rgba(38,255,156,0.08);
}

.tardik-strong {
  color: var(--green-2);
  text-shadow: 0 0 8px var(--green-2), 0 0 18px var(--violet-3);
  font-weight: 700;
}

.tardik-badges {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8vw;
  margin-top: 2.5vh;
  padding: 0;
}
.tardik-badges li {
  padding: 0.6vh 1.1vw;
  font-family: 'Orbitron', sans-serif;
  font-weight: 900;
  font-size: clamp(0.65rem, 1vw, 0.85rem);
  letter-spacing: 0.2em;
  border: 1.5px solid var(--violet-2);
  border-radius: 20px;
  color: var(--violet-2);
  text-shadow: 0 0 5px var(--violet-2);
  box-shadow: 0 0 10px rgba(155,61,255,0.35), inset 0 0 12px rgba(155,61,255,0.1);
  background: rgba(8,4,22,0.6);
}
.tardik-badges li:nth-child(even) {
  border-color: var(--green-2);
  color: var(--green-2);
  text-shadow: 0 0 5px var(--green-2);
  box-shadow: 0 0 10px rgba(38,255,156,0.35), inset 0 0 12px rgba(38,255,156,0.1);
}

/* ══════════════════════════════════════════════════════════
   5 · TEAMS
   ══════════════════════════════════════════════════════════ */
.teams-deck {
  list-style: none;
  padding: 0;
  margin-top: 1vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2vh 2vw;
  width: min(1100px, 92vw);
}
@media (max-width: 700px) { .teams-deck { grid-template-columns: 1fr; } }

.teams-deck li {
  display: flex;
  align-items: center;
  gap: 1.2vw;
  padding: 1.4vh 1.4vw;
  background: rgba(8,4,22,0.8);
  border-left: 3px solid var(--green-2);
  border-radius: 4px;
  box-shadow: inset 0 0 16px rgba(38,255,156,0.06);
  opacity: 0;
  transform: translateX(-30px);
  animation: teamIn .5s ease-out forwards;
  animation-play-state: paused;
  transition: transform .3s ease, box-shadow .3s ease;
}
.teams-deck li:nth-child(even) {
  border-left-color: var(--violet-2);
  box-shadow: inset 0 0 16px rgba(155,61,255,0.08);
  transform: translateX(30px);
}
.slide.active .teams-deck li:nth-child(1) { animation-delay: .05s; }
.slide.active .teams-deck li:nth-child(2) { animation-delay: .15s; }
.slide.active .teams-deck li:nth-child(3) { animation-delay: .25s; }
.slide.active .teams-deck li:nth-child(4) { animation-delay: .35s; }
.slide.active .teams-deck li:nth-child(5) { animation-delay: .45s; }
.slide.active .teams-deck li:nth-child(6) { animation-delay: .55s; }
.slide.active .teams-deck li:nth-child(7) { animation-delay: .65s; }

@keyframes teamIn {
  to { opacity: 1; transform: translateX(0); }
}

.teams-deck li:hover {
  transform: translateY(-2px) scale(1.015);
  box-shadow: 0 0 18px rgba(38,255,156,0.35), inset 0 0 22px rgba(38,255,156,0.10);
}
.teams-deck li:nth-child(even):hover {
  box-shadow: 0 0 18px rgba(155,61,255,0.45), inset 0 0 22px rgba(155,61,255,0.15);
}

.tnum {
  font-family: 'Monoton', 'Orbitron', sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  color: var(--green-2);
  text-shadow: 0 0 8px var(--green-2), 0 0 18px var(--violet-3);
  min-width: 2.2em;
  flex-shrink: 0;
}
.teams-deck li:nth-child(even) .tnum {
  color: var(--violet-2);
  text-shadow: 0 0 8px var(--violet-2), 0 0 18px var(--green-3);
}

.tname {
  font-family: 'Orbitron', sans-serif;
  font-weight: 700;
  font-size: clamp(0.85rem, 1.4vw, 1.15rem);
  letter-spacing: 0.05em;
  color: #e7ffe6;
  text-shadow: 0 0 4px rgba(255,255,255,0.15);
}

/* ══════════════════════════════════════════════════════════
   6 · PHOTOS CAROUSEL
   ══════════════════════════════════════════════════════════ */
.carousel {
  position: relative;
  width: min(1100px, 92vw);
  height: clamp(280px, 55vh, 560px);
  border: 2px solid var(--violet-2);
  border-radius: 10px;
  background: rgba(8,4,22,0.85);
  box-shadow:
    0 0 26px rgba(155,61,255,0.45),
    0 0 60px rgba(38,255,156,0.20),
    inset 0 0 30px rgba(155,61,255,0.10);
  overflow: hidden;
}

.carousel-track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform .6s cubic-bezier(.6,.05,.3,1);
}

.carousel-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  background: #06091a;
}
.carousel-slide img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter:
    drop-shadow(0 0 14px rgba(38,255,156,0.25))
    drop-shadow(0 0 28px rgba(155,61,255,0.25));
  animation: slideFade .7s ease;
}
@keyframes slideFade {
  from { opacity: 0; transform: scale(0.98); }
  to   { opacity: 1; transform: scale(1); }
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 2px solid var(--green-2);
  background: rgba(8,4,22,0.75);
  color: var(--green-2);
  font-size: 1.1rem;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 0 14px rgba(38,255,156,0.45);
  text-shadow: 0 0 5px var(--green-2);
  transition: all .25s ease;
  z-index: 3;
}
.carousel-btn:hover {
  background: rgba(38,255,156,0.2);
  box-shadow: 0 0 24px rgba(38,255,156,0.75);
}
.carousel-btn.prev { left: 12px; }
.carousel-btn.next { right: 12px; }

.carousel-dots {
  position: absolute;
  left: 0; right: 0; bottom: 10px;
  display: flex;
  justify-content: center;
  gap: 8px;
  z-index: 3;
}
.carousel-dots button {
  width: 10px; height: 10px;
  padding: 0;
  border-radius: 50%;
  border: 1.5px solid var(--violet-2);
  background: transparent;
  cursor: pointer;
  transition: all .25s ease;
}
.carousel-dots button.active {
  background: var(--violet-2);
  box-shadow: 0 0 8px var(--violet-2), 0 0 16px var(--green-2);
  transform: scale(1.25);
}

/* ══════════════════════════════════════════════════════════
   7 · CADEAUX
   ══════════════════════════════════════════════════════════ */
.gifts-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5vw;
  width: min(1200px, 94vw);
}
@media (max-width: 1100px) { .gifts-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .gifts-grid { grid-template-columns: repeat(2, 1fr); } }

.gift-card {
  position: relative;
  padding: 2.4vh 1vw;
  text-align: center;
  background: rgba(8,4,22,0.8);
  border: 1.5px solid var(--violet-2);
  border-radius: 10px;
  box-shadow: 0 0 16px rgba(155,61,255,0.35), inset 0 0 20px rgba(155,61,255,0.08);
  opacity: 0;
  transform: translateY(25px) scale(0.95);
  animation: giftIn .6s ease-out forwards;
  animation-delay: var(--d, 0s);
  animation-play-state: paused;
  transition: transform .3s ease, box-shadow .3s ease;
  overflow: hidden;
}
.gift-card:nth-child(odd) {
  border-color: var(--green-2);
  box-shadow: 0 0 16px rgba(38,255,156,0.35), inset 0 0 20px rgba(38,255,156,0.08);
}
@keyframes giftIn {
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.gift-card:hover {
  transform: translateY(-4px) scale(1.04);
  box-shadow: 0 0 28px rgba(199,125,255,0.65), 0 0 50px rgba(38,255,156,0.30);
}

.gift-icon {
  font-size: clamp(2.3rem, 4vw, 3.4rem);
  line-height: 1;
  filter: drop-shadow(0 0 10px currentColor);
  margin-bottom: 1vh;
}
.gift-card:nth-child(odd) .gift-icon { color: var(--green-2); }
.gift-card:nth-child(even) .gift-icon { color: var(--violet-2); }

.gift-title {
  font-family: 'Orbitron', sans-serif;
  font-weight: 900;
  font-size: clamp(0.8rem, 1.2vw, 1.05rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-2);
  text-shadow: 0 0 6px var(--green-2);
  margin-bottom: 0.6vh;
}
.gift-card:nth-child(even) .gift-title {
  color: var(--violet-2);
  text-shadow: 0 0 6px var(--violet-2);
}

.gift-hint {
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.6rem, 0.95vw, 0.8rem);
  letter-spacing: 0.1em;
  line-height: 1.4;
  color: #d8ffec;
  opacity: 0.85;
}
.gift-card:nth-child(even) .gift-hint { color: #e9c9ff; }

/* ══════════════════════════════════════════════════════════
   8 · THANKS
   ══════════════════════════════════════════════════════════ */
.thanks-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2vh;
  text-align: center;
}

.thanks-title {
  font-size: clamp(4rem, 14vw, 11rem);
  letter-spacing: 0.2em;
  margin: 0;
}

.thanks-sub {
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.9rem, 1.6vw, 1.3rem);
  letter-spacing: 0.2em;
  color: var(--violet-1);
  text-shadow: 0 0 6px var(--violet-3);
}

.thanks-signature {
  display: flex;
  align-items: center;
  gap: 1.5vw;
  margin-top: 2vh;
  padding: 1.5vh 2vw;
  border: 1.5px solid var(--green-2);
  border-radius: 10px;
  background: rgba(8,4,22,0.7);
  box-shadow: 0 0 18px rgba(38,255,156,0.35), inset 0 0 20px rgba(155,61,255,0.10);
}
.thanks-tardi {
  width: clamp(55px, 7vw, 90px);
  height: auto;
  filter: drop-shadow(0 0 10px rgba(38,255,156,0.6)) drop-shadow(0 0 18px rgba(155,61,255,0.5));
  animation: tardiFloat 4s ease-in-out infinite;
}
.thanks-sig-1 {
  font-family: 'Monoton', sans-serif;
  font-size: clamp(1rem, 2vw, 1.7rem);
  letter-spacing: 0.2em;
  color: var(--violet-2);
  text-shadow: 0 0 8px var(--violet-2), 0 0 18px var(--green-3);
}
.thanks-sig-2 {
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.65rem, 1vw, 0.9rem);
  letter-spacing: 0.25em;
  color: var(--green-2);
  text-shadow: 0 0 5px var(--green-2);
  margin-top: 0.3vh;
}

.thanks-cta {
  margin-top: 2vh;
  padding: 1vh 2.2vw;
  font-family: 'Orbitron', sans-serif;
  font-weight: 900;
  font-size: clamp(0.75rem, 1.2vw, 1rem);
  letter-spacing: 0.3em;
  text-decoration: none;
  color: var(--green-2);
  border: 2px solid var(--green-2);
  border-radius: 4px;
  background: rgba(8,4,22,0.6);
  box-shadow: 0 0 16px rgba(38,255,156,0.4), inset 0 0 18px rgba(38,255,156,0.08);
  text-shadow: 0 0 5px var(--green-2);
  transition: all .25s ease;
}
.thanks-cta:hover {
  background: rgba(38,255,156,0.18);
  box-shadow: 0 0 28px rgba(38,255,156,0.75), 0 0 50px rgba(155,61,255,0.35);
  transform: translateY(-2px);
}

/* ══════════════════════════════════════════════════════════
   HUD — progress + nav
   ══════════════════════════════════════════════════════════ */
.hud {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 20;
  padding: 1vh 2vw 1.3vh;
  background: linear-gradient(to top, rgba(6,9,26,0.85), rgba(6,9,26,0));
  pointer-events: none;
}

.hud-progress {
  width: 100%;
  height: 3px;
  background: rgba(255,255,255,0.08);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 0.8vh;
}
.hud-progress-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--green-2), var(--violet-2), var(--green-3));
  background-size: 200% 100%;
  box-shadow: 0 0 12px var(--green-2), 0 0 24px var(--violet-2);
  transition: width .5s cubic-bezier(.6,.05,.3,1);
  animation: hudShift 6s linear infinite;
}
@keyframes hudShift {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

.hud-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2vw;
  pointer-events: auto;
}

.hud-btn {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 1.5px solid var(--green-2);
  background: rgba(8,4,22,0.7);
  color: var(--green-2);
  font-size: 0.95rem;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 0 10px rgba(38,255,156,0.35);
  text-shadow: 0 0 4px var(--green-2);
  transition: all .25s ease;
}
.hud-btn:hover:not(:disabled) {
  background: rgba(38,255,156,0.18);
  box-shadow: 0 0 20px rgba(38,255,156,0.7);
}
.hud-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.hud-counter {
  font-family: 'Share Tech Mono', monospace;
  font-size: clamp(0.7rem, 1.1vw, 0.95rem);
  letter-spacing: 0.3em;
  color: var(--violet-1);
  text-shadow: 0 0 5px var(--violet-3);
  min-width: 5em;
  text-align: center;
}
.hud-counter #slide-index {
  color: var(--green-2);
  font-weight: 900;
  text-shadow: 0 0 6px var(--green-2);
}
