/* Fonts Used:
Faculty Glyphic
Macondo
MedievalSharp
Metamorphous
 */
/* Root Below Here */

:root {
  --green: #1e8f43;
  --yellow: #f6d90b;
  --tan-light: #e8dcae;
  --tan-dark: #ddd09a;
  --cream: #fdf3c7;
  --text-brown: #b5764f;
}

html {
    scrollbar-color: var(--green) var(--tan-light);
    scrollbar-width: thin;
}

::-webkit-scrollbar {
    width: 14px;
}

::-webkit-scrollbar-track {
    background: var(--tan-light);
}

::-webkit-scrollbar-thumb {
    background: var(--green);
    border-radius: 8px;
    border: 3px solid var(--tan-light);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--yellow);
}

/* Defaults Below Here */

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: 'Faculty Glyphic', serif;
  background-color: var(--tan-light);
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(0, 0, 0, 0.3)),
    repeating-linear-gradient(
        90deg,
        var(--tan-dark),
        var(--tan-dark) 40px,
        var(--tan-light) 40px,
        var(--tan-light) 80px
    );
  cursor: url("data:4785907.png,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Ccircle cx='14' cy='14' r='7' fill='%23f6d90b' stroke='%231e8f43' stroke-width='2'/%3E%3C/svg%3E") 14 14, auto;  
}

main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 40px;
  z-index: 2;
}

/* Classes Below Here */

.siteHeader {
  position: relative;
  aspect-ratio: 1250/220;
  max-height: 260px;
  width: 100%;
  container-type: size;
}

.sacredQuagganIcon {
  position: absolute;
  top: 80cqh;
  left:50%;
  transform: translate( -50%, -50%);
  width: clamp(0px, 20cqw, 180px);
  z-index: 12;
}

.waveBg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.waveFill {
  fill: var(--green);
}

.waveLine {
  fill: none;
  stroke: var(--yellow);
  stroke-width: 6;
}

.miniMenu {
  display: none;
  position: fixed;
  top: 20px;
  right: 20px;
  font-size: 28px;
  background: none;
  border: none;
  color: var(--yellow);
  cursor: pointer;
  z-index: 30;
}

@media (max-width: 1010px) {
  .miniMenu {
    display: block;
  }

body .navBar {
    display: none;
  }

  .navBar.navOpen {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 50vh;
    background-color: var(--green);
    z-index: 20;
    margin-top: 0;
  }

  .navBar.navOpen .navItem {
    position: static;
    left: auto;
    top: auto;
  font-size: clamp(0px, 5vw, 98px);
  }
}

.headerContent {
  position: relative;
  z-index: 2;
  padding-top: 4cqh;
}

.titleRow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 4.8cqw;
  font-family: 'Metamorphous', cursive;
  font-size: clamp(0px, 5cqw, 98px);
  color: var(--yellow);
  letter-spacing: clamp(0px, 0.15cqw, 2.5px);
  margin-bottom: 0.3cqh;
}

.navBar {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  justify-content: space-around;
  align-items: center;
  background-color: var(--green);
  padding: 14px 0;
  margin-top: -110px;
}

.navItem{
  position: static;
  text-decoration: none;
  color: var(--yellow);
  font-weight: bold;
  font-size: clamp(14px, 2vw, 22px);
  transition: transform 0.65s ease, text-shadow 0.65s ease;
}

.navItem, a {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Ccircle cx='14' cy='14' r='8' fill='%231e8f43' stroke='%23f6d90b' stroke-width='2'/%3E%3C/svg%3E") 14 14, pointer;
}

.navItem:hover{
  transform: scale(1.17);
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.9), 0 0 30px var(--yellow);
}

/*
.homeNav {
  left:12.0cqw;
  top: 52cqh;
  
}

.historyNav {
  left: 29cqw;
  top: 58.5cqh;
}

.ruleNav {
  left: 66cqw;
  top: 55cqh;
}

.joinNav {
  left: 83.5cqw;
  top: 48cqh;
}
*/

.contGrid {
  display: flex;
  gap: 30px;
  margin-bottom: 30px;
}

.box{
  flex: 1;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  border: 3px solid var(--text-brown);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
}

.imgBox {
  background-color: var(--tan-light);
  border: 2px solid var(--text-brown);
}

.wordsGoHere {
  background-color: var(--cream);
  overflow-y: auto;
}

.box p, .soManyWords p {
  color: var(--text-brown);
  font-size: 20px;
  margin: 0;
  text-align: justify;
  text-indent: 30px;  
  
}

.soManyWords {
  background-color: var(--cream);
  padding: 15px;
  height: 250px;
  overflow-y: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
}

.about-content {
    max-width: 900px;
    margin: 0 auto;
}

.about-title {
    font-family: 'Metamorphous', cursive;
    color: var(--green);
    text-align: center;
    font-size: 32px;
    margin: 0 0 40px;
    margin-top: 5cqw;
}

.about-body {
    display: flow-root;
    color: #3a2210;
    font-weight: bold;
    line-height: 1.6;
    text-shadow:
        0 0 6px rgba(253, 243, 199, 0.95),
        0 0 3px rgba(253, 243, 199, 0.95);
}

.about-body figure {
    margin: 0;
}

.about-body .float-left {
    float: left;
    margin: 0 24px 12px 0;
}

.about-body .float-right {
    float: right;
    margin: 0 0 12px 24px;
}

.about-body img {
    display: block;
    width: 300px;
    height: 300px;
    border: 3px solid var(--green);
    border-radius: 8px;
}

.about-body p {
    margin: 0 0 24px;
    background-color: var(--tan-light);
    padding: 7px;
}

.parchment {
    width: 100%;
    margin: -100px auto 0;
    background-image: url('https://uploads.onecompiler.io/44ynbf4bj/1789680576322/wjeC7Gb.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    aspect-ratio: 1942 / 2362;
    padding: 24% 12% 16%;
    box-sizing: border-box;
    container-type: size;
}

.parchment-title {
    font-family: 'Metamorphous', cursive;
    color: #7a1f1f;
    text-align: center;
    font-size: 4.5cqw;
    margin: 0 0 6.1cqh;
    padding-left: 2.25cqw;
}

.commandments {
    font-family: 'Faculty Glyphic', serif;
    color: #7a1f1f;
    font-size: 3.1cqw;
    line-height: 1.5;
    padding-left: 7.5cqw;
}

.commandments li {
    margin-bottom: 2.85cqh;
}

.contactUs {
  background-color: var(--tan-light);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  border: 2px solid var(--green);
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 80%;
  padding: 15px;
  gap: 15px;
}

.formGroup {
  color: var(--green);
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.formGroup label {
  font-weight: bold;
  font-family: 'Metamorphous', serif; 
}

.formGroup input, textarea {
  font-family: 'Metamorphous';
  padding: 7px;
  border: 2px solid var(--green);
  border-radius: 7px;
  box-sizing: border-box;
}

.formGroup select{
  color: rgb(118, 118, 118);
  font-family: 'Metamorphous',sans-serif; 
  padding: 7px;
  border: 2px solid var(--green);
  border-radius: 7px;
  box-sizing: border-box;
}

.formGroup input:focus, textarea:focus {
  border: 2px solid var(--yellow);
  outline: none;
}

.formGroup textarea {
  resize: vertical;
  min-height: 150px;
}

#contactButton {
  color: #fff;
  text-align: center;
  font-family: 'Germania One', sans-serif;
  background-color: var(--green);
  border: 1px solid #333;
  border-radius: 7px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  width: fit-content;
  padding: 15px;
  align-self: flex-end;
  cursor: pointer;
}

#contactButton:hover {
  background-color: #ea8e05be;
}

.particles {
    position: fixed;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: -1;
}

.particle {
    position: absolute;
    bottom: -10px;
    width: 6px;
    height: 6px;
    background: rgba(136,231,136, 0.75);
    border-radius: 50%;
    opacity: 0;
    box-shadow: 0 0 6px 2px rgb(177, 241, 177);
    animation: float-up linear infinite;
}

@keyframes float-up {
    0% {
        transform: translateY(0) translateX(0);
        opacity: 0;
    }
    10% {
        opacity: 0.8;
    }
    60% {
        transform: translateY(-110vh) translateX(20px);
        opacity: 0;
    }
}

.particle:nth-child(1)  { left: 5%;  width: 6px; height: 6px; animation-duration: 14s; animation-delay: 0s;   }
.particle:nth-child(2)  { left: 15%; width: 4px; height: 4px; animation-duration: 18s; animation-delay: 2s;   }
.particle:nth-child(3)  { left: 25%; width: 6px; height: 6px; animation-duration: 12s; animation-delay: 5s;   }
.particle:nth-child(4)  { left: 35%; width: 8px; height: 8px; animation-duration: 20s; animation-delay: 1s;   }
.particle:nth-child(5)  { left: 45%; width: 5px; height: 5px; animation-duration: 16s; animation-delay: 3s;   }
.particle:nth-child(6)  { left: 55%; width: 5px; height: 5px; animation-duration: 13s; animation-delay: 7s;   }
.particle:nth-child(7)  { left: 65%; width: 6px; height: 6px; animation-duration: 19s; animation-delay: 4s;   }
.particle:nth-child(8)  { left: 75%; width: 7px; height: 7px; animation-duration: 15s; animation-delay: 6s;   }
.particle:nth-child(9)  { left: 85%; width: 5px; height: 5px; animation-duration: 17s; animation-delay: 2.5s; }
.particle:nth-child(10) { left: 95%; width: 4px; height: 4px; animation-duration: 21s; animation-delay: 8s;   }
.particle:nth-child(11) { left: 10%; width: 6px; height: 6px; animation-duration: 22s; animation-delay: 9s;   }
.particle:nth-child(12) { left: 60%; width: 6px; height: 6px; animation-duration: 11s; animation-delay: 1.5s; }

.siteFeet{
  background-color: var(--green);
  text-align: center;
  padding: 14px;
  z-index: 2;
}

.siteFeet p{
  color: #fff;
}

/* IDs Below Here */

/* ---- Quaggan Defense mini-game ---- */

#mascotTrigger {
  cursor: pointer;
}

.quagGameOverlay {
  display: none;
  position: fixed;
  inset: 0;
  overflow: hidden;
  background: radial-gradient(ellipse at 50% 0%, #1f7a5a 0%, #0d3b2e 55%, #061a14 100%);
  z-index: 50;
}

.quagGameOverlay.quagGameActive {
  display: block;
}

.quagGameHud {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  box-sizing: border-box;
  color: var(--yellow);
  font-family: 'Metamorphous', cursive;
  font-size: clamp(11px, 1.5vw, 20px);
  z-index: 4;
}

/* The status and counts text sit in little pill shaped badges */
.quagGameStatus,
.quagGameCounts {
  padding: 6px 16px;
  background-color: rgba(6, 26, 20, 0.8);
  border: 2px solid rgba(246, 217, 11, 0.6);
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  white-space: pre-wrap;
}

.quagGameClose {
  flex-shrink: 0;
  background-color: rgba(6, 26, 20, 0.8);
  border: 2px solid var(--yellow);
  color: var(--yellow);
  font-size: 18px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  transition: background-color 0.15s ease, color 0.15s ease;
}

.quagGameClose:hover {
  color: var(--green);
  background-color: var(--yellow);
}

/* The play area: see-through water with a gold and green frame.
   The frame is made with box-shadow rings so it doesn't change
   the arena's size in the game code. */
.quagGameArena {
  position: absolute;
  left: 50%;
  top: calc(50% + 35px);
  overflow: hidden;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(120, 230, 200, 0.22) 0%, rgba(20, 110, 90, 0.18) 45%, rgba(4, 30, 25, 0.35) 100%);
  box-shadow:
    inset 0 0 40px rgba(0, 0, 0, 0.45),
    0 0 0 4px var(--yellow),
    0 0 0 10px var(--green),
    0 0 0 13px var(--yellow),
    0 20px 50px rgba(0, 0, 0, 0.6);
}

/* Soft sunlight rays shining down through the water */
.quagGameArena::before {
  content: '';
  position: absolute;
  inset: -20% -10% 0;
  background: repeating-linear-gradient(
    100deg,
    rgba(255, 255, 255, 0) 0px,
    rgba(255, 255, 255, 0.07) 40px,
    rgba(255, 255, 255, 0) 90px,
    rgba(255, 255, 255, 0) 180px
  );
  -webkit-mask-image: linear-gradient(180deg, black 0%, transparent 70%);
  mask-image: linear-gradient(180deg, black 0%, transparent 70%);
  pointer-events: none;
  animation: quagRays 9s ease-in-out infinite alternate;
}

@keyframes quagRays {
  from { transform: translateX(-30px); }
  to { transform: translateX(30px); }
}

.quagSprite {
  position: absolute;
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
}

.quagSprite.quaggan img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 5px 4px rgba(0, 0, 0, 0.35));
}

.quagSprite.shark {
  font-size: 48px;
  cursor: pointer;
  text-shadow: 0 5px 6px rgba(0, 0, 0, 0.35);
}

.quagSprite.poof {
  animation: quagPoof 0.25s ease forwards;
}

@keyframes quagPoof {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(1.8);
    opacity: 0;
  }
}

.quagGameEndScreen {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 3;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 80px 20px 20px;
  background: radial-gradient(ellipse at 50% 40%, rgba(20, 90, 50, 0.92) 0%, rgba(6, 26, 20, 0.96) 70%);
}

.quagGameEndScreen.quagGameShow {
  display: flex;
}

.quagGameEndMessage {
  max-width: 900px;
  color: var(--yellow);
  font-family: 'Metamorphous', cursive;
  font-size: clamp(22px, 3.5vw, 36px);
  text-align: center;
  margin: 0;
  padding: 0 20px;
  text-shadow: 0 3px 0 #0a2e1a, 0 0 24px rgba(246, 217, 11, 0.35);
}

.quagGameEndImage {
  display:none;
  max-width: 250px;
}

.quagGameEndImage.victoryShow {
  display: block;
}

.quagGamePlayAgain {
  min-width: 180px;
  padding: 12px 28px;
  font-family: 'Metamorphous', cursive;
  font-size: 1.2rem;
  color: var(--yellow);
  background-color: var(--green);
  border: 3px solid var(--yellow);
  border-radius: 12px;
  box-shadow: 0 4px 0 #0a2e1a;
  cursor: pointer;
  transition: transform 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.quagGamePlayAgain:hover {
  transform: translateY(-3px);
  color: var(--green);
  background-color: var(--yellow);
}

/* ---- Quaggan Defense Power Ups ---- */

.powerUp {
  position: absolute;
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 44px;
  cursor: pointer;
  filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.8));
  animation: powerUpPulse 0.8s ease-in-out infinite alternate;
}

@keyframes powerUpPulse {
  from { transform: scale(1); }
  to { transform: scale(1.25); }
}

.quagGameOverlay.powerMode {
  background: radial-gradient(ellipse at 50% 0%, #6a3a9a 0%, #2e1450 55%, #12061f 100%);
}

.quagGameOverlay.powerMode .quagGameArena {
  background: linear-gradient(180deg, rgba(200, 150, 255, 0.25) 0%, rgba(90, 40, 150, 0.2) 45%, rgba(20, 5, 40, 0.4) 100%);
}

.quagGameOverlay.powerMode .quagSprite.shark {
  filter: grayscale(1) brightness(1.6);
}

.quagSprite.defending {
  filter: drop-shadow(0 0 10px var(--green)) drop-shadow(0 0 4px #c9f1c9);
}

.quagSprite.carrying {
  z-index: 3;
}

/* The pen: a sandy seabed behind a wooden fence */
.quagPen {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 12.5%;
  min-height: 150px;
  box-sizing: border-box;
  background:
    radial-gradient(circle at 15% 70%, rgba(255, 255, 255, 0.12) 0 3px, transparent 4px) 0 0 / 90px 50px,
    radial-gradient(circle at 60% 30%, rgba(0, 0, 0, 0.12) 0 2px, transparent 3px) 0 0 / 70px 40px,
    linear-gradient(180deg, #b8935a 0%, #9c7a45 50%, #7d5f33 100%);
  box-shadow: inset 0 12px 20px rgba(0, 0, 0, 0.35);
}

/* The fence along the top of the pen: two rails and evenly spaced posts */
.quagPen::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -30px;
  height: 38px;
  background:
    linear-gradient(180deg, #a5713d, #6b4423) 0 8px / 100% 7px no-repeat,
    linear-gradient(180deg, #a5713d, #6b4423) 0 22px / 100% 7px no-repeat,
    repeating-linear-gradient(90deg, transparent 0 22px, #5a3a1c 22px 24px, #b07c46 24px 34px, #5a3a1c 34px 36px, transparent 36px 70px);
  filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.45));
  pointer-events: none;
}

/* A little wooden sign hanging on the fence */
.quagPen::after {
  content: 'Shark Pen';
  position: absolute;
  right: 24px;
  top: -38px;
  padding: 4px 14px;
  font-family: 'Metamorphous', cursive;
  font-size: 18px;
  color: var(--yellow);
  background: linear-gradient(180deg, #8b5a2b, #5e3b1a);
  border: 2px solid #3d2610;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}

.quagSprite.tamed {
  opacity: 0.85;
  cursor: default;
}

.quagGameOverlay.powerMode .quagSprite.shark {
  cursor: default;
}
.quagSprite.shark.marked {
  filter: drop-shadow(0 0 8px red) drop-shadow(0 0 3px white);
}
/* ---- Quag Rush: HUD click-through ---- */

.quagGameHud {
  pointer-events: none;
}

.quagGameClose {
  pointer-events: auto;
}

/* ---- Quag Rush: title screen ---- */

.quagGameModeMenu {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  overflow: hidden;
  text-align: center;
  background: radial-gradient(ellipse at 50% 35%, #2f8f55 0%, #145a32 45%, #0a2e1a 100%);
}

.quagGameModeMenu.quagGameShow {
  display: flex;
}

.quagTitleMascot {
  width: clamp(90px, 13vw, 150px);
  filter: drop-shadow(0 10px 12px rgba(0, 0, 0, 0.45));
  animation: quagBob 2.4s ease-in-out infinite;
}

@keyframes quagBob {
  0%, 100% { transform: translateY(0) rotate(-4deg); }
  50% { transform: translateY(-14px) rotate(4deg); }
}

.quagTitle {
  margin: 0;
  font-family: 'Metamorphous', cursive;
  font-size: clamp(48px, 10vw, 120px);
  line-height: 1;
  letter-spacing: 4px;
  color: var(--yellow);
  text-shadow:
    0 4px 0 var(--green),
    0 8px 0 #0a2e1a,
    0 0 40px rgba(246, 217, 11, 0.45);
}

.quagTitleTagline {
  margin: 4px 0 14px;
  color: var(--cream);
  font-size: clamp(14px, 2vw, 20px);
}

.quagModeButton {
  min-width: 260px;
  padding: 12px 30px;
  font-family: 'Metamorphous', cursive;
  font-size: 1.2rem;
  color: var(--yellow);
  background-color: var(--green);
  border: 3px solid var(--yellow);
  border-radius: 12px;
  box-shadow: 0 4px 0 #0a2e1a;
  cursor: pointer;
  transition: transform 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.quagModeButton:hover {
  transform: translateY(-3px);
  color: var(--green);
  background-color: var(--yellow);
}

.quagExitButton {
  min-width: 160px;
  margin-top: 6px;
  color: var(--cream);
  background-color: transparent;
  border-color: var(--cream);
  box-shadow: none;
}

.quagExitButton:hover {
  color: var(--green);
  background-color: var(--cream);
}

/* Two background sharks that swim across the title screen */
.quagTitleShark {
  position: absolute;
  left: 0;
  font-size: 60px;
  opacity: 0.25;
  pointer-events: none;
}

.quagTitleSharkOne {
  top: 18%;
  animation: quagSwimLeft 14s linear infinite;
}

.quagTitleSharkTwo {
  top: 72%;
  animation: quagSwimRight 18s linear infinite;
}

@keyframes quagSwimLeft {
  from { transform: translateX(110vw); }
  to { transform: translateX(-10vw); }
}

@keyframes quagSwimRight {
  from { transform: translateX(-10vw) scaleX(-1); }
  to { transform: translateX(110vw) scaleX(-1); }
}

/* ---- Quag Rush: tutorial, high scores and initials screens ---- */

.quagPanelScreen {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background-color: rgba(10, 46, 26, 0.92);
}

.quagPanelScreen.quagGameShow {
  display: flex;
}

.quagPanel {
  width: min(100%, 680px);
  max-height: 100%;
  overflow-y: auto;
  padding: 24px 30px;
  text-align: center;
  color: var(--cream);
  background-color: #145a32;
  border: 3px solid var(--yellow);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.quagPanel h2 {
  margin: 0 0 12px;
  font-family: 'Metamorphous', cursive;
  font-size: clamp(26px, 4vw, 38px);
  color: var(--yellow);
}

.quagPanel h3 {
  margin: 18px 0 6px;
  font-family: 'Metamorphous', cursive;
  color: var(--yellow);
}

.quagTutorialList {
  margin: 0 0 8px;
  padding-left: 22px;
  text-align: left;
  line-height: 1.5;
}

.quagTutorialList li {
  margin-bottom: 6px;
}

.quagPanel .quagModeButton {
  margin-top: 16px;
}

.quagFinalScoreLine {
  font-family: 'Metamorphous', cursive;
  font-size: 28px;
  color: var(--yellow);
  margin: 0 0 8px;
}

/* Arcade style initials box: 3 big spaced out letters */
.quagNameInput {
  display: block;
  width: 5.4em;
  margin: 0 auto;
  padding: 6px 0 6px 0.6em;
  font-family: 'Courier New', monospace;
  font-size: 48px;
  font-weight: bold;
  letter-spacing: 0.6em;
  text-transform: uppercase;
  text-align: center;
  color: var(--yellow);
  background-color: #0a2e1a;
  border: 3px solid var(--yellow);
  border-radius: 10px;
  outline: none;
}

.quagNameInput::placeholder {
  color: rgba(246, 217, 11, 0.25);
}

/* ---- Quag Rush: score lists ---- */

.quagScoreColumns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

.quagScoreColumns > div {
  flex: 1;
  min-width: 220px;
}

.quagScoreList {
  width: min(100%, 280px);
  margin: 0 auto;
  padding-left: 2.2em;
  text-align: left;
  font-family: 'Courier New', monospace;
  font-size: 20px;
  font-weight: bold;
  color: var(--cream);
}

.quagScoreList li {
  padding: 3px 6px;
}

.quagScoreList li span:last-child {
  float: right;
}

.quagScoreList li.newScore {
  color: var(--green);
  background-color: var(--yellow);
  border-radius: 6px;
}

.quagScoreList li.newScore::marker {
  color: var(--yellow);
}

.quagScoreList li.emptyScore {
  list-style: none;
  opacity: 0.7;
}

.quagResetButton {
  color: #ffb3b3;
  border-color: #d9534f;
}

.quagResetButton:hover {
  color: white;
  background-color: #d9534f;
}

.quagEndButtons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}

.quagSprite.recovering {
    animation: quagBlink 0.15s infinite alternate;
}

@keyframes quagBlink {
    from { opacity: 1; }
    to { opacity: 0.4; }
}

.powerUp.sacred {
    cursor: default;
}

.quagSprite.tamed.hunter {
    opacity: 1;
    filter: drop-shadow(0 0 8px var(--yellow)) drop-shadow(0 0 3px white);
}

.quagSprite.hunted {
    filter: drop-shadow(0 0 8px orange) drop-shadow(0 0 3px white);
}

.quagSprite.blessed {
    filter: drop-shadow(0 0 10px limegreen) drop-shadow(0 0 4px white);
}

/* ---- Quag Rush: bubbles over the whole game screen ---- */

.quagBubbles {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 6;
}

.quagBubble {
  position: absolute;
  bottom: -40px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.8) 0 15%, rgba(255, 255, 255, 0.15) 40%, rgba(255, 255, 255, 0.05) 70%);
  opacity: 0;
  animation: quagBubbleRise linear infinite;
}

@keyframes quagBubbleRise {
  0% { transform: translate(0, 0); opacity: 0; }
  10% { opacity: 0.7; }
  25% { transform: translate(12px, -27vh); }
  50% { transform: translate(-10px, -55vh); }
  75% { transform: translate(10px, -82vh); opacity: 0.6; }
  100% { transform: translate(-6px, -110vh); opacity: 0; }
}

.quagBubble:nth-child(1)  { left: 4%;  width: 10px; height: 10px; animation-duration: 11s; animation-delay: 0s; }
.quagBubble:nth-child(2)  { left: 11%; width: 18px; height: 18px; animation-duration: 15s; animation-delay: 3s; }
.quagBubble:nth-child(3)  { left: 18%; width: 8px;  height: 8px;  animation-duration: 9s;  animation-delay: 6s; }
.quagBubble:nth-child(4)  { left: 26%; width: 14px; height: 14px; animation-duration: 13s; animation-delay: 1.5s; }
.quagBubble:nth-child(5)  { left: 33%; width: 22px; height: 22px; animation-duration: 17s; animation-delay: 8s; }
.quagBubble:nth-child(6)  { left: 40%; width: 9px;  height: 9px;  animation-duration: 10s; animation-delay: 4s; }
.quagBubble:nth-child(7)  { left: 47%; width: 16px; height: 16px; animation-duration: 14s; animation-delay: 10s; }
.quagBubble:nth-child(8)  { left: 54%; width: 11px; height: 11px; animation-duration: 12s; animation-delay: 2s; }
.quagBubble:nth-child(9)  { left: 61%; width: 20px; height: 20px; animation-duration: 16s; animation-delay: 5.5s; }
.quagBubble:nth-child(10) { left: 68%; width: 8px;  height: 8px;  animation-duration: 9s;  animation-delay: 7s; }
.quagBubble:nth-child(11) { left: 75%; width: 15px; height: 15px; animation-duration: 13s; animation-delay: 0.5s; }
.quagBubble:nth-child(12) { left: 82%; width: 12px; height: 12px; animation-duration: 11s; animation-delay: 9s; }
.quagBubble:nth-child(13) { left: 88%; width: 24px; height: 24px; animation-duration: 18s; animation-delay: 3.5s; }
.quagBubble:nth-child(14) { left: 94%; width: 10px; height: 10px; animation-duration: 10s; animation-delay: 6.5s; }
.quagBubble:nth-child(15) { left: 22%; width: 6px;  height: 6px;  animation-duration: 8s;  animation-delay: 11s; }
.quagBubble:nth-child(16) { left: 58%; width: 6px;  height: 6px;  animation-duration: 8s;  animation-delay: 12s; }
.quagBubble:nth-child(17) { left: 72%; width: 7px;  height: 7px;  animation-duration: 9s;  animation-delay: 13s; }
.quagBubble:nth-child(18) { left: 36%; width: 7px;  height: 7px;  animation-duration: 9s;  animation-delay: 14s; }
