/* =========================================================
   SERPENTQUEST // MINECRAFT-INSPIRED RETRO THEME
   Purple & Yellow Palette + Dennis Lore Splash Texts
   ========================================================= */

:root {
  --mc-dark-purple: #1b072b;
  --mc-purple: #3f155c;
  --mc-purple-light: #6a2596;
  --mc-gold: #ffff55;
  --mc-gold-shadow: #3f3f15;
  --mc-yellow: #ffaa00;
  --mc-yellow-shadow: #2a1b00;

  --mc-btn-bg: #4a3459;
  --mc-btn-border-light: #7c5c93;
  --mc-btn-border-dark: #241630;
  --mc-btn-hover-bg: #5f4472;

  --mc-gui-bg: #2d1d3a;
  --mc-gui-border-light: #523766;
  --mc-gui-border-dark: #160d1d;

  --mc-green: #55ff55;
  --mc-red: #ff5555;
  --mc-cyan: #55ffff;
  --mc-white: #ffffff;
  --mc-gray: #aaaaaa;

  --font-pixel: 'Press Start 2P', monospace;
  --font-mono: 'VT323', monospace;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  image-rendering: pixelated;
  user-select: none;
}

body.retro-body {
  background-color: var(--mc-dark-purple);
  color: var(--mc-white);
  font-family: var(--font-pixel);
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

/* Minecraft Panorama-style Purple & Yellow Animated Background */
.panorama-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: 
    radial-gradient(circle at 50% 30%, rgba(255, 255, 85, 0.15), transparent 60%),
    radial-gradient(circle at 20% 80%, rgba(184, 41, 227, 0.3), transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(106, 37, 150, 0.4), transparent 50%),
    linear-gradient(135deg, #10031a 0%, #280b3d 50%, #150224 100%);
  z-index: -2;
  animation: panoramaShift 20s ease-in-out infinite alternate;
}

@keyframes panoramaShift {
  0% { transform: scale(1) translate(0, 0); }
  50% { transform: scale(1.05) translate(-10px, -10px); }
  100% { transform: scale(1) translate(10px, 10px); }
}

/* Minecraft Dirt/Voxel Grid Overlay */
.voxel-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-image: 
    linear-gradient(rgba(0, 0, 0, 0.25) 2px, transparent 2px),
    linear-gradient(90deg, rgba(0, 0, 0, 0.25) 2px, transparent 2px);
  background-size: 32px 32px;
  pointer-events: none;
  z-index: -1;
  opacity: 0.6;
}

/* Main Container */
.mc-container {
  width: 100%;
  max-width: 860px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  position: relative;
  z-index: 1;
}

/* Top Stats HUD (Minecraft Style) */
.mc-hud-bar {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(16, 3, 26, 0.85);
  border: 3px solid #000;
  border-top-color: var(--mc-gui-border-light);
  border-left-color: var(--mc-gui-border-light);
  border-right-color: var(--mc-gui-border-dark);
  border-bottom-color: var(--mc-gui-border-dark);
  padding: 8px 16px;
  font-size: 0.65rem;
  box-shadow: 0 4px 0 #000;
  flex-wrap: wrap;
  gap: 10px;
  box-sizing: border-box;
}

.hud-stats-group {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.hud-label-prefix {
  display: inline;
}

.hud-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.hud-label {
  color: var(--mc-gray);
}

.hud-val {
  color: var(--mc-gold);
  text-shadow: 1px 1px #000;
}

.hud-val.green-text { color: var(--mc-green); }
.hud-val.cyan-text { color: var(--mc-cyan); }
.hud-val.purple-text { color: #d670ff; }

/* Minecraft Logo with Bouncing Splash Text */
.mc-logo-wrapper {
  position: relative;
  text-align: center;
  margin: 20px auto 35px auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100%;
  box-sizing: border-box;
}

.mc-logo-title {
  font-size: 2.8rem;
  letter-spacing: 2px;
  color: #fff;
  text-shadow: 
    4px 4px 0px #1a0826,
    -2px -2px 0px #ffea75,
    3px -2px 0px #b829e3,
    -2px 3px 0px #b829e3,
    0 6px 0 #000;
  line-height: 1.1;
  text-transform: uppercase;
}

.mc-logo-sub {
  font-size: 0.65rem;
  color: #c9b3db;
  letter-spacing: 1px;
  margin-top: 6px;
  text-shadow: 2px 2px #000;
}

/* Iconic Minecraft Yellow Pulsing Splash Text (Dennis Subtitle) */
.mc-splash-text {
  position: absolute;
  right: -55px;
  bottom: -18px;
  color: var(--mc-gold);
  text-shadow: 2px 2px 0px var(--mc-gold-shadow), 2px 2px 4px rgba(0,0,0,0.8);
  font-size: 0.65rem;
  transform: rotate(-14deg);
  animation: mcSplashBounce 0.45s ease-in-out infinite alternate;
  white-space: normal;
  line-height: 1.3;
  cursor: pointer;
  z-index: 10;
  max-width: 210px;
  text-align: center;
}

.mc-splash-text:hover {
  filter: brightness(1.2);
}

@keyframes mcSplashBounce {
  0% { transform: rotate(-15deg) scale(1); }
  100% { transform: rotate(-15deg) scale(1.08); }
}

/* Minecraft GUI Panel */
.mc-gui-panel {
  width: 100%;
  background: var(--mc-gui-bg);
  border: 4px solid #000;
  border-top-color: var(--mc-gui-border-light);
  border-left-color: var(--mc-gui-border-light);
  border-right-color: var(--mc-gui-border-dark);
  border-bottom-color: var(--mc-gui-border-dark);
  box-shadow: 0 6px 0 #000;
  padding: 24px;
}

/* Minecraft Button */
.mc-btn {
  display: block;
  width: 100%;
  background: var(--mc-btn-bg);
  color: var(--mc-white);
  font-family: var(--font-pixel);
  font-size: 0.8rem;
  line-height: 1.45;
  text-shadow: 2px 2px 0px #000;
  padding: 14px 18px;
  border: 3px solid #000;
  border-top-color: var(--mc-btn-border-light);
  border-left-color: var(--mc-btn-border-light);
  border-right-color: var(--mc-btn-border-dark);
  border-bottom-color: var(--mc-btn-border-dark);
  box-shadow: inset 1px 1px 0px rgba(255, 255, 255, 0.15), 0 4px 0 #000;
  cursor: pointer;
  text-align: center;
  transition: background 0.1s, transform 0.05s;
  margin-bottom: 12px;
}

.mc-btn:hover:not(:disabled) {
  background: var(--mc-btn-hover-bg);
  border-top-color: #a482be;
  border-left-color: #a482be;
  color: var(--mc-gold);
}

.mc-btn:active:not(:disabled) {
  transform: translateY(2px);
  box-shadow: 0 2px 0 #000;
  border-top-color: var(--mc-btn-border-dark);
  border-left-color: var(--mc-btn-border-dark);
  border-right-color: var(--mc-btn-border-light);
  border-bottom-color: var(--mc-btn-border-light);
}

.mc-btn:disabled {
  background: #23172c;
  color: #635370;
  border-top-color: #352342;
  border-left-color: #352342;
  border-right-color: #150c1b;
  border-bottom-color: #150c1b;
  cursor: not-allowed;
  box-shadow: none;
}

.mc-btn-yellow {
  background: #7a5c10;
  border-top-color: #bda23b;
  border-left-color: #bda23b;
  border-right-color: #3b2c05;
  border-bottom-color: #3b2c05;
}
.mc-btn-yellow:hover:not(:disabled) {
  background: #997514;
  color: #ffffff;
}

.mc-btn-cyan {
  background: #0e4c54;
  border-top-color: #26919e;
  border-left-color: #26919e;
  border-right-color: #062428;
  border-bottom-color: #062428;
  color: #55ffff;
}
.mc-btn-cyan:hover:not(:disabled) {
  background: #146772;
  color: #ffffff;
}

.mc-btn-mini {
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  padding: 8px 14px;
  margin-bottom: 0;
  line-height: 1.2;
}

.hero-mini-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}

/* Choice Buttons (Year / Title) */
.mc-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 12px;
}

@media (max-width: 680px) {
  body.retro-body {
    padding: 12px 16px;
  }

  .mc-container {
    gap: 14px;
    width: 100%;
    max-width: 100%;
  }

  /* Sleek Phone HUD */
  .mc-hud-bar {
    padding: 8px 10px;
    gap: 8px;
    flex-direction: column;
    align-items: stretch;
    background: rgba(14, 2, 23, 0.94);
    border-width: 2px;
    box-shadow: 0 3px 0 #000;
  }

  .hud-stats-group {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
    width: 100%;
  }

  .hud-stats-group .hud-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(28, 9, 44, 0.75);
    border: 1px solid #4a2168;
    box-shadow: inset 1px 1px 0px rgba(255, 255, 255, 0.05);
    padding: 4px 2px;
    border-radius: 2px;
    min-height: 28px;
  }

  .hud-stats-group .hud-label {
    font-size: 0.44rem;
    color: #9f86b0;
    letter-spacing: 0.5px;
    text-shadow: 1px 1px #000;
    line-height: 1;
    margin-bottom: 2px;
  }

  .hud-label-prefix {
    display: none;
  }

  .hud-stats-group .hud-val {
    font-size: 0.54rem;
    line-height: 1;
    text-shadow: 1px 1px #000;
    white-space: nowrap;
  }

  /* Sleek Phone Sound Controls Row */
  .hud-sound-group {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 4px;
    padding-top: 6px;
    border-top: 1px solid rgba(108, 59, 157, 0.35);
  }

  .mc-hud-sound-btn,
  .mc-hud-menu-btn {
    font-size: 0.52rem;
    padding: 4px 6px;
    flex-shrink: 0;
  }

  .bgm-volume-wrapper {
    padding: 2px 5px;
    gap: 4px;
    flex: 1;
    max-width: 110px;
    justify-content: center;
  }

  .mc-volume-slider {
    width: 40px;
    height: 5px;
  }

  .volume-percent-text {
    font-size: 0.46rem;
    min-width: 20px;
  }

  .mc-hud-icon-btn {
    padding: 3px 5px;
    font-size: 0.7rem;
    flex-shrink: 0;
  }

  /* Logo: guaranteed margin from screen sides + responsive scaling */
  .mc-logo-wrapper {
    width: 100%;
    max-width: calc(100vw - 32px);
    margin: 10px auto 44px auto;
    padding: 0 12px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .mc-logo-title {
    font-size: clamp(1.18rem, 5.7vw, 1.85rem);
    letter-spacing: clamp(1px, 0.3vw, 2px);
    line-height: 1.15;
    white-space: nowrap;
    word-break: keep-all;
    max-width: 100%;
    text-shadow: 
      3px 3px 0px #1a0826,
      -1px -1px 0px #ffea75,
      2px -1px 0px #b829e3,
      -1px 2px 0px #b829e3,
      0 4px 0 #000;
  }

  .mc-logo-sub {
    font-size: clamp(0.44rem, 2vw, 0.56rem);
    margin-top: 5px;
    letter-spacing: 0.5px;
  }

  /* Dennis Splash Text: anchored to top so multi-line text expands downward into margin */
  .mc-splash-text {
    position: absolute;
    right: 2px;
    top: calc(100% - 4px);
    bottom: auto;
    font-size: clamp(0.44rem, 2vw, 0.52rem);
    max-width: 170px;
    text-align: right;
    transform: rotate(-7deg);
    animation: mcSplashBounceMobile 0.45s ease-in-out infinite alternate;
  }

  .mc-choice-grid {
    grid-template-columns: 1fr;
  }

  .mc-gui-panel {
    padding: 16px 12px;
  }

  .hero-heading {
    font-size: 0.88rem;
  }

  .mc-btn {
    font-size: 0.72rem;
    padding: 12px 14px;
    line-height: 1.45;
  }

  .hero-mini-actions {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin-top: 10px;
  }

  .hero-mini-actions .mc-btn-mini {
    flex: 1;
    max-width: 180px;
    font-size: 0.55rem;
    padding: 8px 6px;
    white-space: nowrap;
  }
}

@keyframes mcSplashBounceMobile {
  0% { transform: rotate(-9deg) scale(1); }
  100% { transform: rotate(-9deg) scale(1.06); }
}

@media (max-width: 380px) {
  .hud-stats-group {
    grid-template-columns: repeat(2, 1fr);
  }
  .mc-splash-text {
    right: 0;
    bottom: -24px;
    max-width: 145px;
    font-size: 0.46rem;
  }
}

.mc-choice-btn {
  background: #382447;
  color: #fff;
  border: 3px solid #000;
  border-top-color: #5c3c73;
  border-left-color: #5c3c73;
  border-right-color: #1c1024;
  border-bottom-color: #1c1024;
  padding: 12px 14px;
  font-family: var(--font-pixel);
  font-size: 0.7rem;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 3px 0 #000;
  transition: all 0.1s;
}

.mc-choice-btn:hover:not(.locked) {
  background: #503466;
  color: var(--mc-gold);
}

.mc-choice-btn.selected {
  background: #6a3a91;
  border-color: var(--mc-gold);
  color: var(--mc-gold);
  box-shadow: 0 0 8px var(--mc-gold);
}

.mc-choice-btn.correct {
  background: #1e5c26 !important;
  border-color: var(--mc-green) !important;
  color: #fff !important;
  box-shadow: 0 0 10px var(--mc-green) !important;
}

.mc-choice-btn.incorrect {
  background: #611e28 !important;
  border-color: var(--mc-red) !important;
  color: #fff !important;
  opacity: 0.8;
}

/* Redacted & Heavily Blurred Year in Title Options */
.mc-blurred-year {
  display: inline-block;
  background: #000;
  color: transparent !important;
  text-shadow: 0 0 10px var(--mc-gold);
  filter: blur(5px);
  padding: 0 5px;
  margin: 0 2px;
  border-radius: 2px;
  user-select: none;
  pointer-events: none;
  letter-spacing: 3px;
  vertical-align: baseline;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.8);
}

/* Hero Section */
.hero-content {
  text-align: center;
}

.hero-heading {
  font-size: 1.1rem;
  color: var(--mc-gold);
  margin-bottom: 12px;
  text-shadow: 2px 2px #000;
}

.hero-text {
  font-family: var(--font-mono);
  font-size: 1.3rem;
  color: #d1c1e4;
  line-height: 1.5;
  margin-bottom: 24px;
}

/* Quote Box */
.mc-quote-card {
  background: #190a26;
  border: 3px solid #000;
  border-top-color: #3f2259;
  border-left-color: #3f2259;
  border-right-color: #0d0414;
  border-bottom-color: #0d0414;
  padding: 20px;
  margin-bottom: 20px;
}

.quote-top-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  border-bottom: 2px solid #2f1842;
  padding-bottom: 8px;
}

.quote-top-badges {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.quote-stage-badge {
  color: var(--mc-gold);
  font-size: 0.75rem;
}

.mc-seen-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-pixel);
  font-size: 0.62rem;
  letter-spacing: 0.5px;
  padding: 3px 8px;
  border: 2px solid #000;
  text-shadow: 1px 1px 0px #000;
  transition: all 0.2s ease;
  animation: mcBadgePop 0.25s ease-out;
}

@keyframes mcBadgePop {
  0% { transform: scale(0.85); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

.mc-seen-badge.seen {
  background: #54330e;
  color: #ffd875;
  border-color: #ffaa00;
  box-shadow: inset 0 0 5px rgba(255, 170, 0, 0.4), 0 2px 0 #000;
}

.mc-seen-badge.new {
  background: #14401e;
  color: #79f79b;
  border-color: #38c958;
  box-shadow: inset 0 0 5px rgba(56, 201, 88, 0.4), 0 2px 0 #000;
}

.quote-display {
  font-size: 1rem;
  line-height: 1.6;
  color: #fff;
  text-shadow: 1px 1px #000;
  text-align: center;
  padding: 10px 0;
}

.quote-mark {
  color: var(--mc-purple-light);
  font-size: 1.5rem;
  vertical-align: middle;
}

.mc-hint-box {
  margin-top: 14px;
  background: #2e1d05;
  border: 2px solid #ffaa00;
  padding: 10px 14px;
  font-size: 0.7rem;
  color: #ffd875;
}

/* Question Cards */
.mc-question-block {
  margin-bottom: 20px;
}

.mc-question-title {
  font-size: 0.75rem;
  color: var(--mc-yellow);
  text-shadow: 1px 1px #000;
  margin-bottom: 8px;
}

/* Feedback Box */
.mc-feedback-panel {
  background: #160724;
  border: 3px solid #000;
  border-top-color: var(--mc-green);
  border-left-color: var(--mc-green);
  border-right-color: #082910;
  border-bottom-color: #082910;
  padding: 20px;
  margin-top: 20px;
  animation: mcPop 0.2s ease-out;
}

@keyframes mcPop {
  from { transform: scale(0.97); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.feedback-headline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #33194a;
  padding-bottom: 12px;
  margin-bottom: 14px;
}

.feedback-status {
  font-size: 0.85rem;
}

.feedback-status.perfect { color: var(--mc-green); }
.feedback-status.partial { color: var(--mc-yellow); }
.feedback-status.wrong { color: var(--mc-red); }

.feedback-points {
  font-size: 0.85rem;
  color: var(--mc-gold);
}

.context-story {
  font-family: var(--font-mono);
  font-size: 1.25rem;
  color: #eae1f5;
  margin-bottom: 14px;
  line-height: 1.4;
}

.correct-summary {
  font-size: 0.7rem;
  line-height: 1.8;
  margin-bottom: 18px;
}

/* CRT Player Window */
.mc-player-window {
  margin-top: 20px;
  background: #000;
  border: 3px solid var(--mc-purple-light);
  box-shadow: 0 4px 0 #000;
}

.player-header {
  background: #2b133d;
  padding: 8px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.65rem;
}

.player-frame-box {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.player-frame-box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Completion Section */
.completion-banner {
  text-align: center;
}

.completion-stats {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 20px 0;
}

/* Batch Date Badge */
.batch-date-tag {
  display: inline-block;
  background: #250b38;
  border: 2px solid var(--mc-yellow);
  color: var(--mc-gold);
  padding: 6px 12px;
  font-size: 0.65rem;
  margin-bottom: 15px;
  letter-spacing: 1px;
}

/* Sound HUD Toggle Button */
.mc-hud-sound-btn {
  background: #2f1742;
  border: 2px solid #583377;
  color: var(--mc-gold);
  font-family: var(--font-pixel);
  font-size: 0.6rem;
  padding: 4px 8px;
  cursor: pointer;
  transition: background 0.15s;
}

.mc-hud-sound-btn:hover {
  background: var(--mc-purple-light);
  color: #fff;
}

.mc-hud-sound-btn.muted {
  color: var(--mc-gray);
  border-color: #3b2252;
}

/* Menu HUD Button */
.mc-hud-menu-btn {
  background: #1e283d;
  border: 2px solid #3c5482;
  color: var(--mc-cyan);
  font-family: var(--font-pixel);
  font-size: 0.6rem;
  padding: 4px 8px;
  cursor: pointer;
  transition: background 0.15s;
}

.mc-hud-menu-btn:hover {
  background: #314b7e;
  color: #fff;
}

/* Cyan Button Variant */
.mc-btn-cyan {
  background: #1b3a4b;
  border-top-color: #347091;
  border-left-color: #347091;
  border-right-color: #0b1a22;
  border-bottom-color: #0b1a22;
  color: var(--mc-cyan);
}

.mc-btn-cyan:hover:not(:disabled) {
  background: #23526c;
  border-top-color: #4da3d4;
  border-left-color: #4da3d4;
  color: #fff;
}

/* Volume Slider & Controls */
.hud-sound-group {
  display: flex;
  align-items: center;
  gap: 6px;
}

.bgm-volume-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #210d30;
  padding: 3px 6px;
  border: 1px solid #532c79;
}

.mc-volume-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 65px;
  height: 6px;
  background: #0f0417;
  outline: none;
  border: 1px solid #6c3b9d;
  cursor: pointer;
}

.mc-volume-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 10px;
  height: 12px;
  background: var(--mc-gold);
  border: 1px solid #000;
  cursor: pointer;
}

.mc-volume-slider::-moz-range-thumb {
  width: 10px;
  height: 12px;
  background: var(--mc-gold);
  border: 1px solid #000;
  cursor: pointer;
}

.volume-percent-text {
  font-size: 0.55rem;
  color: var(--mc-gold);
  min-width: 26px;
  text-align: right;
}

/* Web Archive Music Emoji Button */
.mc-hud-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #2b1d3a;
  border: 2px solid #583377;
  color: var(--mc-gold);
  font-size: 0.75rem;
  padding: 3px 6px;
  text-decoration: none;
  cursor: pointer;
  line-height: 1;
  transition: transform 0.1s, background 0.15s;
}

.mc-hud-icon-btn:hover {
  background: var(--mc-purple-light);
  transform: scale(1.1);
}

/* Sound Warning Modal */
.mc-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(10, 2, 16, 0.82);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  padding: 20px;
}

.mc-modal-box {
  max-width: 540px;
  width: 100%;
  background: var(--mc-gui-bg);
  border: 4px solid #000;
  border-top-color: var(--mc-gold);
  border-left-color: var(--mc-gold);
  border-right-color: #241630;
  border-bottom-color: #241630;
  box-shadow: 0 10px 0 #000;
  padding: 24px;
  text-align: center;
  animation: modalAppear 0.2s cubic-bezier(0.18, 0.89, 0.32, 1.28);
}

@keyframes modalAppear {
  0% { transform: scale(0.85); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

.modal-header {
  font-size: 0.9rem;
  margin-bottom: 16px;
  letter-spacing: 1px;
}

.warning-title {
  font-size: 0.75rem;
  color: #fff;
  margin-bottom: 14px;
  line-height: 1.5;
}

.warning-disclaimer {
  font-family: var(--font-mono);
  font-size: 1.25rem;
  color: #ff9494;
  line-height: 1.4;
  margin-bottom: 22px;
  background: rgba(255, 85, 85, 0.1);
  padding: 10px 14px;
  border: 2px dashed #ff5555;
}

.modal-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.hidden { display: none !important; }

/* Minecraft Footer with Sarcastic Asterisk Disclaimer & Flowing Link */
.mc-footer {
  text-align: center;
  margin-top: 15px;
  max-width: 660px;
  padding: 0 10px;
}

.footer-disclaimer {
  color: #9f86b0;
  font-family: var(--font-pixel);
  font-size: 0.5rem;
  line-height: 1.7;
}

.footer-yt-link {
  color: var(--mc-gold);
  text-decoration: underline;
  font-family: var(--font-pixel);
  font-size: 0.5rem;
  transition: color 0.15s;
  white-space: nowrap;
}

.footer-yt-link:hover {
  color: var(--mc-yellow);
}

