/* =========================================================
   CHAOS LAYER - make it less product landing more cursed shrine
   ========================================================= */

body.cursed {
  cursor: crosshair;
}

body.trencher {
  --sol: #14f195;
  --sol-dark: #0a3d2e;
}

/* sol trenches banner under dogma */
.sol-banner {
  text-align: center;
  font-family: var(--font-mono, "Share Tech Mono", monospace);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  color: var(--sol, #14f195);
  margin: -0.25rem 0 1.25rem;
  position: relative;
  z-index: 1;
  text-shadow: 0 0 12px rgba(20, 241, 149, 0.35);
}

.truth-gate__truth {
  font-family: "Creepster", Impact, cursive;
  color: #ff1a1a;
  font-size: 1.45rem;
  margin: 0.5rem 0 0.75rem;
  letter-spacing: 0.04em;
  text-shadow: 0 2px 0 #4a0000;
}

/* trenches satire cards */
.trenches-section {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(20, 241, 149, 0.1), transparent 45%),
    radial-gradient(ellipse at 80% 100%, rgba(225, 6, 0, 0.08), transparent 40%);
}

.trench-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.85rem;
}

.trench-card {
  padding: 1.1rem 1.15rem;
  border-radius: 10px;
  background: #0c1210;
  border: 2px solid rgba(20, 241, 149, 0.35);
  box-shadow: 4px 4px 0 rgba(20, 241, 149, 0.15);
}

.trench-card h3 {
  font-family: "Permanent Marker", cursive;
  font-size: 1rem;
  margin: 0 0 0.5rem;
  color: #14f195;
  font-weight: 400;
  text-transform: none;
}

.trench-card p {
  margin: 0;
  color: #9a9690;
  font-size: 0.92rem;
  line-height: 1.5;
}

/* HPOS-style endgame dump */
.endgame-quote {
  margin: 0 0 1.5rem;
  padding: 1.15rem 1.25rem;
  border-left: 4px solid #e10600;
  background: rgba(0, 0, 0, 0.45);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.98rem;
  line-height: 1.55;
  color: #d4d0c8;
  transform: rotate(-0.4deg);
}

.dump-prophecy {
  margin: 1.75rem 0 1.5rem;
  padding: 1rem;
  border: 2px dashed rgba(225, 6, 0, 0.45);
  font-family: "Permanent Marker", cursive;
  font-size: 0.95rem;
  color: #ff6b6b;
  line-height: 1.45;
  background: rgba(40, 0, 0, 0.35);
  transform: rotate(0.5deg);
}

.wide-chaos {
  max-width: min(100% - 1.25rem, 1200px) !important;
}

/* hero id alias for HPOS-style anchor */
#HarryPotterObamaSonic10Inu.hero {
  scroll-margin-top: 100px;
}

/* more dump density on funny wall */
body.trencher .meme-wall--chaos {
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 0.4rem;
}

body.trencher .meme-wall--chaos .meme-tile {
  border-radius: 4px;
  padding: 0.3rem;
}

body.trencher .meme-wall--chaos .meme-tile:nth-child(odd) {
  transform: rotate(calc(var(--tilt, 0deg) - 1deg));
}

body.trencher .under-construction {
  background: repeating-linear-gradient(
    -45deg,
    #14f195,
    #14f195 10px,
    #111 10px,
    #111 20px
  );
}

/* ---- cult ticker bar ---- */
.cult-ticker-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem 1.25rem;
  padding: 0.4rem 0.75rem;
  background: #0a0510;
  border-bottom: 2px solid #e879f9;
  font-family: "Share Tech Mono", monospace;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #e879f9;
}

.spin-10 {
  display: inline-block;
  color: #ff1a1a;
  font-family: "Creepster", cursive;
  font-size: 1.1rem;
  animation: spin10 3s linear infinite;
}

@keyframes spin10 {
  to {
    transform: rotate(360deg);
  }
}

.wiggly {
  animation: wiggle 1.2s ease-in-out infinite;
  display: inline-block;
}

@keyframes wiggle {
  0%,
  100% {
    transform: rotate(-1deg) translateY(0);
  }
  50% {
    transform: rotate(1.5deg) translateY(-2px);
  }
}

/* ---- council ---- */
.council-section {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(232, 121, 249, 0.12), transparent 50%),
    #08060c;
}

.council-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0.75rem;
}

.council-card {
  padding: 1rem;
  border: 2px solid rgba(232, 121, 249, 0.35);
  border-radius: 8px;
  background: linear-gradient(160deg, #141018, #0a080c);
  transform: rotate(var(--tilt, 0deg));
  cursor: pointer;
  box-shadow: 3px 3px 0 rgba(225, 6, 0, 0.2);
  transition: transform 0.15s ease, border-color 0.15s ease;
}

.council-card:hover {
  transform: rotate(0deg) scale(1.03);
  border-color: #76b900;
}

.council-card__id {
  font-family: "Share Tech Mono", monospace;
  font-size: 0.62rem;
  color: #9a9690;
  letter-spacing: 0.1em;
}

.council-card h3 {
  font-family: "Permanent Marker", cursive;
  font-size: 1.05rem;
  margin: 0.35rem 0;
  color: #e879f9;
  font-weight: 400;
}

.council-card__role {
  font-size: 0.78rem;
  color: #76b900;
  margin: 0 0 0.5rem;
}

.council-card__decree {
  font-size: 0.88rem;
  color: #d4d0c8;
  margin: 0;
  font-style: italic;
}

.council-footer-note {
  margin-top: 1.25rem;
  font-family: "Share Tech Mono", monospace;
  font-size: 0.72rem;
  color: #9a9690;
  text-align: center;
}

/* ---- oracle ---- */
.oracle-panel {
  text-align: center;
  padding: 1.5rem;
  border: 3px double #76b900;
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 30%, rgba(118, 185, 0, 0.15), transparent 55%),
    #0a0e08;
}

.oracle-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}

.oracle-wheel {
  position: relative;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  border: 3px solid #76b900;
  background: #000;
  cursor: pointer;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 0 30px rgba(118, 185, 0, 0.35);
}

.oracle-wheel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
}

.oracle-wheel__ring {
  position: absolute;
  inset: 6px;
  border: 2px dashed rgba(164, 230, 0, 0.5);
  border-radius: 50%;
  pointer-events: none;
  animation: spin10 8s linear infinite;
}

.oracle-wheel__label {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Share Tech Mono", monospace;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  color: #a4e600;
  background: rgba(0, 0, 0, 0.75);
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
}

.oracle-wheel.is-spinning {
  animation: bag-spin 0.6s ease;
}

@keyframes bag-spin {
  0% {
    transform: rotate(0deg) scale(1);
  }
  40% {
    transform: rotate(20deg) scale(1.08);
  }
  100% {
    transform: rotate(0deg) scale(1);
  }
}

.oracle-output {
  max-width: 36rem;
  min-height: 4rem;
  padding: 1rem 1.25rem;
  border: 2px solid rgba(225, 6, 0, 0.4);
  background: rgba(0, 0, 0, 0.55);
  font-family: Georgia, serif;
  font-size: 1.05rem;
  line-height: 1.5;
  color: #f2f0eb;
  transform: rotate(-0.5deg);
}

/* ---- guestbook ---- */
.guestbook-section {
  background: #0c0a08;
}

.guest-list {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
  display: grid;
  gap: 0.45rem;
  font-family: "Share Tech Mono", monospace;
  font-size: 0.82rem;
  color: #c4c0b8;
}

.guest-list li {
  padding: 0.55rem 0.75rem;
  border: 1px dashed rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.35);
  transform: rotate(-0.3deg);
}

.guest-list li:nth-child(even) {
  transform: rotate(0.4deg);
  border-color: rgba(118, 185, 0, 0.25);
}

.guest-list strong {
  color: #e879f9;
}

.big-hit {
  margin-top: 1.25rem !important;
  font-size: 1rem !important;
  text-align: center;
}

/* ---- trail + prophecy pop ---- */
.trail-host {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 80;
  overflow: hidden;
}

.trail-10 {
  position: fixed;
  font-family: "Creepster", cursive;
  color: #ff1a1a;
  font-size: 0.85rem;
  opacity: 0.55;
  transform: translate(-50%, -50%);
  animation: trail-fade 0.7s ease forwards;
  pointer-events: none;
  text-shadow: 0 0 6px rgba(225, 6, 0, 0.6);
}

@keyframes trail-fade {
  to {
    opacity: 0;
    transform: translate(-50%, -80%) scale(0.5);
  }
}

.prophecy-pop {
  position: fixed;
  z-index: 85;
  max-width: 280px;
  padding: 0.75rem 1rem;
  background: #111;
  border: 2px solid #e10600;
  color: #f2f0eb;
  font-family: "Permanent Marker", cursive;
  font-size: 0.9rem;
  line-height: 1.35;
  box-shadow: 6px 6px 0 rgba(118, 185, 0, 0.35);
  pointer-events: none;
  animation: pop-in 0.35s ease;
}

.prophecy-pop[hidden] {
  display: none !important;
}

@keyframes pop-in {
  from {
    opacity: 0;
    transform: scale(0.9) rotate(-3deg);
  }
  to {
    opacity: 1;
    transform: scale(1) rotate(-1deg);
  }
}

/* sacred bag blessing glow levels */
.sacred-bag[data-blessing="3"] .sacred-bag__frame {
  box-shadow: 0 0 0 2px rgba(196, 122, 255, 0.5), 0 0 40px rgba(196, 122, 255, 0.25);
}

.sacred-bag[data-blessing="5"] .sacred-bag__frame {
  box-shadow: 0 0 0 2px rgba(118, 185, 0, 0.6), 0 0 50px rgba(118, 185, 0, 0.35);
}

.sacred-bag[data-blessing="10"] .sacred-bag__frame {
  box-shadow:
    0 0 0 3px #ff1a1a,
    0 0 0 6px #76b900,
    0 0 60px rgba(232, 121, 249, 0.5);
  animation: bag-spin 1s ease infinite;
}

/* ---- raw dump intercalation ---- */
.raw-dump {
  margin: 0;
  padding: 1.25rem 1rem 1.5rem;
  background: #120008;
  border-top: 4px solid #e10600;
  border-bottom: 4px solid #14f195;
  text-align: center;
}

.raw-dump__marquee {
  display: block;
  color: #f5c542;
  font-family: "Share Tech Mono", monospace;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  margin-bottom: 0.75rem;
}

.raw-dump__center {
  font-family: "Comic Neue", "Permanent Marker", cursive;
  font-size: clamp(1rem, 3vw, 1.45rem);
  color: #ff1a1a;
  margin: 0.35rem 0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.raw-dump__blink {
  animation: cursed-blink 0.9s step-end infinite;
  color: #a4e600;
}

.raw-dump__small {
  font-family: "Share Tech Mono", monospace;
  font-size: 0.7rem;
  color: #9a9690;
  margin: 0.75rem 0 0;
}

/* ---- solves wall ---- */
.solves-section {
  background:
    radial-gradient(ellipse at 0% 50%, rgba(247, 147, 26, 0.1), transparent 40%),
    radial-gradient(ellipse at 100% 50%, rgba(20, 241, 149, 0.08), transparent 40%);
}

.solves-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0.7rem;
}

.solves-card {
  padding: 0.95rem;
  border: 2px solid rgba(255, 255, 255, 0.12);
  background: #0e0e10;
  transform: rotate(var(--tilt, 0deg));
  cursor: pointer;
  box-shadow: 4px 4px 0 rgba(225, 6, 0, 0.2);
}

.solves-card:hover {
  border-color: #76b900;
  transform: rotate(0deg) scale(1.04);
}

.solves-card h3 {
  font-family: "Creepster", cursive;
  color: #ff1a1a;
  margin: 0 0 0.35rem;
  font-size: 1.35rem;
  font-weight: 400;
}

.solves-card__solves {
  font-family: "Share Tech Mono", monospace;
  font-size: 0.72rem;
  color: #76b900;
  margin: 0 0 0.4rem;
  letter-spacing: 0.06em;
}

.solves-card__how {
  margin: 0;
  font-size: 0.9rem;
  color: #c4c0b8;
}

/* ---- copium meter ---- */
.copium-panel {
  border: 3px solid #e879f9;
  border-radius: 12px;
  padding: 1.5rem;
  background: #100818;
  text-align: center;
}

.copium-meter__bar {
  height: 28px;
  border: 2px solid #e879f9;
  border-radius: 999px;
  overflow: hidden;
  background: #000;
  margin: 0 auto 0.75rem;
  max-width: 420px;
}

.copium-meter__fill {
  height: 100%;
  width: 30%;
  background: linear-gradient(90deg, #7c3aed, #e879f9, #ff1a1a);
  transition: width 0.25s ease;
  box-shadow: 0 0 20px rgba(232, 121, 249, 0.5);
}

.copium-meter__readout {
  font-family: "Share Tech Mono", monospace;
  color: #e879f9;
  letter-spacing: 0.08em;
  margin: 0 0 1rem;
}

.copium-meter__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

body.copium-maxed {
  animation: copium-pulse 1.2s ease infinite;
}

@keyframes copium-pulse {
  50% {
    filter: hue-rotate(25deg) saturate(1.2);
  }
}

.rewardsd-banner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem 1rem;
  padding: 0.65rem;
  background: #1a0505;
  border-top: 2px dashed #e10600;
  border-bottom: 2px dashed #e10600;
  font-family: "Permanent Marker", cursive;
  color: #ff6b6b;
  font-size: 0.95rem;
  text-align: center;
}

/* ---- mute + ad + lightbox ---- */
.mute-cult {
  position: fixed;
  left: 0.65rem;
  bottom: 0.65rem;
  z-index: 95;
  font-family: "Share Tech Mono", monospace;
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  padding: 0.4rem 0.55rem;
  background: #111;
  color: #76b900;
  border: 1px solid #76b900;
  cursor: pointer;
  border-radius: 4px;
}

.nav-scramble {
  font-family: "Share Tech Mono", monospace;
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  padding: 0.25rem 0.45rem;
  background: #e10600;
  color: #fff;
  border: 0;
  cursor: pointer;
  border-radius: 3px;
  text-transform: uppercase;
}

.cult-ad {
  position: fixed;
  inset: 0;
  z-index: 15000;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.72);
  padding: 1rem;
}

.cult-ad[hidden] {
  display: none !important;
}

.cult-ad__card {
  position: relative;
  max-width: 320px;
  padding: 1.25rem;
  background: #111;
  border: 3px solid #f5c542;
  text-align: center;
  box-shadow: 8px 8px 0 #e10600;
  transform: rotate(-1.5deg);
}

.cult-ad__x {
  position: absolute;
  top: 6px;
  right: 8px;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 1.1rem;
  cursor: pointer;
}

.cult-ad__kicker {
  font-family: "Share Tech Mono", monospace;
  font-size: 0.65rem;
  color: #f5c542;
  letter-spacing: 0.12em;
}

.cult-ad__card img {
  width: 160px;
  height: 160px;
  object-fit: cover;
  margin: 0.5rem auto;
  border: 2px solid #333;
}

.cult-ad__body {
  font-family: "Permanent Marker", cursive;
  color: #f2f0eb;
  line-height: 1.4;
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 16000;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.92);
  padding: 1.5rem;
}

.lightbox[hidden] {
  display: none !important;
}

.lightbox img {
  max-width: min(90vw, 520px);
  max-height: 70vh;
  object-fit: contain;
  border: 3px solid #76b900;
  box-shadow: 0 0 40px rgba(118, 185, 0, 0.35);
}

.lightbox__cap {
  color: #a4e600;
  font-family: "Share Tech Mono", monospace;
  letter-spacing: 0.1em;
  margin: 0.75rem 0 0;
  text-align: center;
}

.lightbox__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: transparent;
  border: 1px solid #fff;
  color: #fff;
  font-size: 1.2rem;
  width: 2.2rem;
  height: 2.2rem;
  cursor: pointer;
}

body.scrambled .section-title {
  animation: glitch-frag 0.35s ease infinite;
}

@media (prefers-reduced-motion: reduce) {
  .spin-10,
  .wiggly,
  .oracle-wheel__ring,
  .oracle-wheel.is-spinning,
  .sacred-bag[data-blessing="10"] .sacred-bag__frame,
  .trail-10,
  .prophecy-pop,
  .raw-dump__blink,
  body.copium-maxed,
  body.scrambled .section-title {
    animation: none !important;
  }
}

/* classic ugly blink */
.blink {
  animation: cursed-blink 1.1s step-end infinite;
}

@keyframes cursed-blink {
  50% {
    opacity: 0;
  }
}

/* under construction banner */
.under-construction {
  background: repeating-linear-gradient(
    -45deg,
    #f5c542,
    #f5c542 12px,
    #111 12px,
    #111 24px
  );
  color: #000;
  text-align: center;
  font-family: "Comic Neue", "Permanent Marker", cursive;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  padding: 0.35rem 0.5rem;
  border-bottom: 3px solid #e10600;
  text-shadow: 1px 1px 0 #fff;
}

.under-construction .blink {
  background: #000;
  color: #f5c542;
  padding: 0 0.35rem;
}

/* floating debris words */
.chaos-debris {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 50;
  overflow: hidden;
}

.chaos-debris span {
  position: absolute;
  font-family: "Permanent Marker", cursive;
  font-size: clamp(0.65rem, 2vw, 1rem);
  opacity: 0.14;
  color: var(--gtx-bright, #a4e600);
  white-space: nowrap;
  transform: rotate(var(--r, -8deg));
  user-select: none;
}

.chaos-debris span:nth-child(3n) {
  color: var(--red-drip, #ff1a1a);
  opacity: 0.12;
}

.chaos-debris span:nth-child(5n) {
  color: var(--claude-hot, #e879f9);
  opacity: 0.13;
}

/* mid-page chaos strip */
.chaos-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem 1.75rem;
  padding: 0.55rem 1rem;
  background: #120008;
  border-top: 2px solid #e10600;
  border-bottom: 2px solid #76b900;
  font-family: "Share Tech Mono", monospace;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #f5c542;
  overflow: hidden;
}

.chaos-strip span:nth-child(odd) {
  color: #ff1a1a;
}

/* uneven section rhythm */
body.cursed .section {
  padding-top: clamp(2.2rem, 6vw, 5rem);
  padding-bottom: clamp(2.2rem, 6vw, 5rem);
}

body.cursed .section:nth-child(even) {
  background-image: radial-gradient(
    ellipse at 10% 40%,
    rgba(225, 6, 0, 0.05),
    transparent 45%
  );
}

body.cursed .section:nth-child(3n) {
  background-image: radial-gradient(
    ellipse at 90% 60%,
    rgba(118, 185, 0, 0.05),
    transparent 40%
  );
}

/* messy copy */
.messy {
  font-size: 1.02rem;
  line-height: 1.65;
  max-width: 38rem;
}

.messy-list h3 {
  text-transform: none;
  font-weight: 800;
}

.tiny-note {
  font-family: "Share Tech Mono", monospace;
  font-size: 0.7rem;
  color: var(--muted, #9a9690);
  text-align: center;
  margin: 0.5rem 0 0;
}

.gate-footer-junk {
  margin: 1rem 0 0;
  font-family: "Share Tech Mono", monospace;
  font-size: 0.65rem;
  color: #9a9690;
  letter-spacing: 0.08em;
}

.hit-counter {
  margin: 0.75rem 0 0;
  font-family: "Share Tech Mono", monospace;
  font-size: 0.7rem;
  color: #76b900;
}

/* skews & tilts */
.skew-chaos {
  transform: rotate(-0.35deg);
}

.skew-chaos-alt {
  transform: rotate(0.45deg);
}

.tilt-left {
  transform: rotate(-1.2deg);
}

.tilt-right {
  transform: rotate(1.1deg);
}

.wobble {
  animation: soft-wobble 5.5s ease-in-out infinite;
}

@keyframes soft-wobble {
  0%,
  100% {
    transform: rotate(-0.6deg);
  }
  50% {
    transform: rotate(0.7deg);
  }
}

/* extra stickers */
.sticker--chaos1 {
  top: 42%;
  left: 2%;
  color: #ff1a1a;
  transform: rotate(22deg);
  font-size: 0.9rem;
}

.sticker--chaos2 {
  bottom: 30%;
  right: 3%;
  color: #e879f9;
  transform: rotate(-18deg);
  font-size: 0.65rem;
}

/* stack cards more irregular */
.stack-cards--chaos {
  align-items: start;
}

.stack-cards--chaos .stack-card:nth-child(1) {
  transform: rotate(-1.5deg);
}
.stack-cards--chaos .stack-card:nth-child(2) {
  transform: rotate(1.2deg) translateY(12px);
}
.stack-cards--chaos .stack-card:nth-child(3) {
  transform: rotate(-0.8deg) translateY(-6px);
}
.stack-cards--chaos .stack-card:nth-child(4) {
  transform: rotate(1.6deg) translateY(8px);
}
.stack-cards--chaos .stack-card:nth-child(5) {
  transform: rotate(-1deg) translateY(4px);
}

/* tokenomics as ugly table */
.tokenomics-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1rem;
  font-size: 0.95rem;
}

.tokenomics-table td {
  border: 2px solid rgba(118, 185, 0, 0.35);
  padding: 0.65rem 0.75rem;
  vertical-align: top;
}

.tokenomics-table td:first-child {
  font-family: "Share Tech Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #76b900;
  width: 7rem;
  background: rgba(0, 0, 0, 0.35);
}

/* meme wall more chaotic */
.meme-wall--chaos {
  gap: 0.55rem 0.65rem;
}

.meme-wall--chaos .meme-tile {
  box-shadow:
    3px 3px 0 rgba(225, 6, 0, 0.25),
    0 12px 28px rgba(0, 0, 0, 0.45);
  border-width: 2px;
}

.meme-wall--chaos .meme-tile:nth-child(3n) {
  border-color: rgba(196, 122, 255, 0.35);
}

.meme-wall--chaos .meme-tile:nth-child(4n) {
  border-color: rgba(118, 185, 0, 0.4);
}

.meme-wall--chaos .meme-tile:nth-child(5n) {
  border-color: rgba(225, 6, 0, 0.4);
}

/* lore cards crooked */
.lore-grid--chaos .lore-card:nth-child(odd) {
  transform: rotate(-0.7deg);
}

.lore-grid--chaos .lore-card:nth-child(even) {
  transform: rotate(0.6deg);
}

.lore-grid--chaos .lore-card:hover {
  transform: rotate(0deg) translateY(-2px);
}

/* section titles sometimes marker */
body.cursed .section-kicker {
  text-transform: none;
  letter-spacing: 0.1em;
  opacity: 0.85;
}

body.cursed .lede {
  font-family: Inter, system-ui, sans-serif;
}

/* nav links more raw */
body.cursed .nav__links a {
  text-transform: none;
  letter-spacing: 0.06em;
}

body.cursed .nav__links a:hover {
  color: #ff1a1a;
  text-decoration: underline;
  text-decoration-style: wavy;
}

/* marquee faster messier */
body.cursed .marquee__track {
  animation-duration: 28s;
}

body.cursed .marquee {
  font-size: 0.78rem;
  border-bottom-width: 2px;
}

/* hero dogma slightly off center feel */
body.cursed .hero__dogma {
  transform: rotate(-1deg);
}

/* broken perfection: uneven container sometimes */
body.cursed #funny .container,
body.cursed #batch .container {
  max-width: min(100% - 1.5rem, 1180px);
}

body.cursed #about .container {
  max-width: min(100% - 1.5rem, 720px);
}

/* purple classic web links in scripture */
body.cursed .scripture a {
  color: #c47aff;
}

/* float mascot more cursed */
body.cursed .float-mascot {
  border-style: dashed;
  animation-duration: 3.2s;
}

/* reduce motion still wins */
@media (prefers-reduced-motion: reduce) {
  .blink,
  .wobble,
  .under-construction .blink,
  body.cursed .marquee__track,
  body.cursed .float-mascot {
    animation: none !important;
  }

  .tilt-left,
  .tilt-right,
  .skew-chaos,
  .skew-chaos-alt,
  .stack-cards--chaos .stack-card,
  .lore-grid--chaos .lore-card {
    transform: none !important;
  }
}

@media (max-width: 700px) {
  .skew-chaos,
  .skew-chaos-alt {
    transform: none;
  }

  .chaos-debris {
    display: none;
  }
}

/* Always-on Ansem floater (visible after gate) */
.float-ansem {
  position: fixed;
  left: 0.75rem;
  top: 40%;
  z-index: 92;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  cursor: pointer;
  animation: float-bob 3.5s ease-in-out infinite;
  filter: drop-shadow(0 0 12px rgba(247, 147, 26, 0.55));
}

body.gate-locked .float-ansem {
  display: none;
}

.float-ansem img {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  border: 3px solid #f5c542;
  object-fit: cover;
  background: #000;
}

.float-ansem span {
  font-family: "Share Tech Mono", monospace;
  font-size: 0.6rem;
  letter-spacing: 0.14em;
  color: #f5c542;
  background: rgba(0, 0, 0, 0.8);
  padding: 0.1rem 0.35rem;
}

.float-ansem:hover img {
  transform: scale(1.08) rotate(-6deg);
  border-color: #ff1a1a;
}

/* Ansem shrine section */
.ansem-shrine-section {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(247, 147, 26, 0.18), transparent 50%),
    radial-gradient(ellipse at 80% 100%, rgba(20, 241, 149, 0.08), transparent 40%);
}

.ansem-hero-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  align-items: center;
  margin-bottom: 1.5rem;
}

.ansem-hero-pfp {
  width: min(40vw, 200px);
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 16px;
  border: 4px solid #f5c542;
  box-shadow: 0 0 30px rgba(247, 147, 26, 0.4);
}

.ansem-quote {
  font-family: "Permanent Marker", cursive;
  font-size: clamp(1.2rem, 3vw, 1.75rem);
  color: #f5c542;
  margin: 0 0 0.75rem;
}

.ansem-hero-copy .btn {
  margin: 0.35rem 0.35rem 0 0;
}

.ansem-wall {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.65rem;
}

.ansem-tile {
  margin: 0;
  padding: 0.35rem;
  background: #0e0e10;
  border: 2px solid rgba(247, 147, 26, 0.35);
  border-radius: 8px;
  cursor: pointer;
  transform: rotate(-1deg);
  transition: transform 0.15s ease, border-color 0.15s ease;
}

.ansem-tile:nth-child(even) {
  transform: rotate(1.2deg);
}

.ansem-tile:hover {
  transform: rotate(0deg) scale(1.05);
  border-color: #f5c542;
}

.ansem-tile img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
  border-radius: 4px;
  background: #000;
}

.ansem-tile figcaption {
  font-family: "Share Tech Mono", monospace;
  font-size: 0.62rem;
  color: #f5c542;
  text-align: center;
  margin-top: 0.35rem;
  letter-spacing: 0.06em;
}

/* =========================================================
   ANSEM OH YEAH - copy CA / $NVIDIA face slam
   ========================================================= */

.ansem-yeah {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.55);
}

.ansem-yeah[hidden] {
  display: none !important;
}

.ansem-yeah.is-on {
  animation: yeah-bg 0.85s ease forwards;
}

.ansem-yeah__flash {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, rgba(247, 147, 26, 0.55), transparent 55%);
  animation: yeah-flash 0.85s ease forwards;
}

.ansem-yeah__face {
  position: relative;
  z-index: 2;
  width: min(72vw, 360px);
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 50%;
  border: 6px solid #f5c542;
  box-shadow:
    0 0 0 8px rgba(225, 6, 0, 0.5),
    0 0 80px rgba(247, 147, 26, 0.8);
  animation: yeah-slam 0.85s cubic-bezier(0.18, 0.9, 0.3, 1.2) forwards;
}

.ansem-yeah__text {
  position: absolute;
  z-index: 3;
  bottom: 18%;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(2rem, 8vw, 3.5rem);
  letter-spacing: 0.08em;
  color: #f5c542;
  text-shadow:
    0 0 20px #f7931a,
    3px 3px 0 #e10600,
    -2px -2px 0 #000;
  white-space: nowrap;
  animation: yeah-text 0.85s ease forwards;
}

.ansem-yeah__sub {
  position: absolute;
  z-index: 3;
  bottom: 12%;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  font-family: "Share Tech Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  color: #14f195;
  animation: yeah-text 0.85s ease 0.05s both;
}

@keyframes yeah-slam {
  0% {
    transform: scale(0.2) rotate(-25deg);
    opacity: 0;
  }
  35% {
    transform: scale(1.15) rotate(4deg);
    opacity: 1;
  }
  55% {
    transform: scale(0.95) rotate(-2deg);
  }
  75% {
    transform: scale(1.05) rotate(1deg);
    opacity: 1;
  }
  100% {
    transform: scale(1.4) rotate(0deg);
    opacity: 0;
  }
}

@keyframes yeah-text {
  0% {
    opacity: 0;
    transform: translateX(-50%) scale(0.5);
  }
  30% {
    opacity: 1;
    transform: translateX(-50%) scale(1.1);
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(-50%) scale(1.2);
  }
}

@keyframes yeah-flash {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes yeah-bg {
  0% {
    background: rgba(0, 0, 0, 0);
  }
  15% {
    background: rgba(0, 0, 0, 0.65);
  }
  100% {
    background: rgba(0, 0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ansem-yeah__face,
  .ansem-yeah__text,
  .ansem-yeah__sub,
  .ansem-yeah__flash,
  .ansem-yeah.is-on {
    animation-duration: 0.01ms !important;
  }
}

/* =========================================================
   VANDAL LAYER - mining BRRR / Ansem dance / Sonic / GPU rain
   ========================================================= */

.mining-popup {
  position: fixed;
  inset: 0;
  z-index: 25000;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.88);
  padding: 1rem;
}

.mining-popup[hidden] {
  display: none !important;
}

.mining-popup__card {
  max-width: 400px;
  width: 100%;
  padding: 1.5rem 1.25rem;
  background: linear-gradient(160deg, #1a1208, #0a0a0c);
  border: 3px solid #f7931a;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 0 40px rgba(247, 147, 26, 0.35), 8px 8px 0 #e10600;
  transform: rotate(-1deg);
}

.mining-popup__kicker {
  font-family: "Share Tech Mono", monospace;
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  color: #f7931a;
  margin: 0 0 0.5rem;
}

.mining-popup__title {
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(1.4rem, 4vw, 1.85rem);
  letter-spacing: 0.04em;
  margin: 0 0 0.75rem;
  line-height: 1.15;
  color: #fff;
}

.mining-popup__body {
  font-size: 0.9rem;
  color: #b0aaa0;
  margin: 0 0 1rem;
  line-height: 1.45;
}

.mining-popup__gpu {
  width: 140px;
  height: 140px;
  object-fit: cover;
  margin: 0 auto 1rem;
  border: 2px solid #76b900;
  border-radius: 8px;
  animation: gpu-idle-spin 4s linear infinite;
}

.mining-popup__brrr {
  font-size: 1.1rem !important;
  letter-spacing: 0.2em !important;
  padding: 1rem 1.75rem !important;
  animation: brrr-pulse 0.8s ease infinite;
}

@keyframes gpu-idle-spin {
  to { transform: rotate(360deg); }
}

@keyframes brrr-pulse {
  50% { box-shadow: 0 0 28px rgba(164, 230, 0, 0.7); transform: scale(1.04); }
}

/* active vandal layer */
.vandal-layer {
  position: fixed;
  inset: 0;
  z-index: 40;
  pointer-events: none;
  overflow: hidden;
}

.vandal-layer[hidden] {
  display: none !important;
}

.vandal-layer.is-active {
  pointer-events: none;
}

.vandal-layer__ansem {
  position: absolute;
  right: 2%;
  bottom: 8%;
  width: min(28vw, 200px);
  z-index: 2;
  animation: ansem-dance 0.85s ease-in-out infinite;
  opacity: 0.92;
  filter: drop-shadow(0 0 12px rgba(247, 147, 26, 0.5));
  text-align: center;
}

.vandal-layer__ansem.ansem-composite {
  position: absolute;
}

.vandal-layer__ansem .ansem-dance-body {
  width: 100%;
  height: auto;
  border-radius: 12px;
  border: 3px solid #f5c542;
  display: block;
}

/* Real Ansem X PFP as dancer head (locks likeness when AI composite drifts) */
.vandal-layer__ansem .ansem-head-swap {
  position: absolute;
  top: 4%;
  left: 50%;
  width: 44%;
  aspect-ratio: 1;
  height: auto;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 50%;
  border: 3px solid #f7931a;
  box-shadow: 0 0 16px rgba(247, 147, 26, 0.7);
  transform: translateX(-50%);
  z-index: 3;
  background: #000;
}

/* Real Ansem X PFP badge corner */
.vandal-layer__ansem .ansem-pfp-badge {
  position: absolute;
  top: -8px;
  left: -8px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 3px solid #14f195;
  object-fit: cover;
  box-shadow: 0 0 12px rgba(20, 241, 149, 0.6);
  animation: ansem-badge-bob 0.85s ease-in-out infinite;
  z-index: 4;
}

.vandal-layer__ansem .ansem-label {
  display: block;
  margin-top: 0.25rem;
  font-family: "Share Tech Mono", monospace;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  color: #f5c542;
  background: rgba(0, 0, 0, 0.75);
  padding: 0.15rem 0.35rem;
}

@keyframes ansem-badge-bob {
  0%, 100% { transform: translateY(0) rotate(-6deg); }
  50% { transform: translateY(-6px) rotate(6deg); }
}

@keyframes ansem-dance {
  0%, 100% { transform: translateY(0) rotate(-4deg) scaleX(1); }
  25% { transform: translateY(-12px) rotate(4deg) scaleX(-1); }
  50% { transform: translateY(0) rotate(-2deg) scaleX(1); }
  75% { transform: translateY(-8px) rotate(6deg) scaleX(-1); }
}

.vandal-layer__gpus,
.vandal-layer__btc {
  position: absolute;
  inset: 0;
}

.vandal-gpu {
  position: absolute;
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid #76b900;
  animation: gpu-spin-var 2.5s linear infinite;
  opacity: 0.75;
  pointer-events: none;
}

@keyframes gpu-spin-var {
  to { transform: rotate(360deg) scale(1.05); }
}

.vandal-btc-coin {
  position: absolute;
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 50%;
  animation: btc-fall 3.5s linear infinite;
  opacity: 0.9;
  pointer-events: none;
}

@keyframes btc-fall {
  0% { transform: translateY(-10vh) rotate(0deg); opacity: 0; }
  10% { opacity: 0.95; }
  100% { transform: translateY(110vh) rotate(720deg); opacity: 0.3; }
}

.vandal-layer__mine {
  position: absolute;
  left: 50%;
  top: 42%;
  transform: translate(-50%, -50%);
  width: 160px;
  height: 120px;
  z-index: 3;
}

.vandal-layer__mine .pickaxe {
  position: absolute;
  left: 0;
  top: 0;
  width: 90px;
  height: 90px;
  object-fit: contain;
  animation: pickaxe-swing 0.55s ease-in-out infinite;
  transform-origin: 80% 80%;
  filter: drop-shadow(0 0 8px #14f195);
}

.vandal-layer__mine .btc-target {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 50%;
  animation: btc-hit 0.55s ease-in-out infinite;
}

@keyframes pickaxe-swing {
  0%, 100% { transform: rotate(-35deg); }
  50% { transform: rotate(25deg); }
}

@keyframes btc-hit {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(0.88) rotate(12deg); }
}

.sonic-runner {
  position: absolute;
  height: 64px;
  width: auto;
  object-fit: contain;
  z-index: 5;
  animation: sonic-run 2.8s linear infinite;
  filter: drop-shadow(0 0 8px #4da3ff);
  pointer-events: none;
}

@keyframes sonic-run {
  0% { left: -15%; transform: scaleX(1); }
  49% { left: 105%; transform: scaleX(1); }
  50% { left: 105%; transform: scaleX(-1); }
  100% { left: -15%; transform: scaleX(-1); }
}

.vandal-stop {
  pointer-events: auto;
  position: fixed;
  right: 0.75rem;
  top: 50%;
  z-index: 96;
  font-family: "Share Tech Mono", monospace;
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  padding: 0.45rem 0.55rem;
  background: #1a0505;
  color: #ff1a1a;
  border: 1px solid #ff1a1a;
  cursor: pointer;
  transform: rotate(90deg);
  transform-origin: center;
}

body.mining-active .site-shell {
  /* slight heat */
  filter: contrast(1.05) saturate(1.1);
}

body.mining-active::after {
  content: "MINING $BITCOIN (FAKE) // STILL $NVIDIA";
  position: fixed;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 97;
  font-family: "Share Tech Mono", monospace;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  color: #f7931a;
  background: rgba(0, 0, 0, 0.75);
  padding: 0.35rem 0.75rem;
  border: 1px solid #f7931a;
  pointer-events: none;
}

.vandal-toasts {
  position: fixed;
  top: 5rem;
  right: 0.75rem;
  z-index: 98;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  pointer-events: none;
}

.vandal-toast {
  background: #111;
  border: 2px solid #f7931a;
  color: #f7931a;
  font-family: "Share Tech Mono", monospace;
  font-size: 0.68rem;
  padding: 0.4rem 0.55rem;
  animation: pop-in 0.3s ease;
  max-width: 220px;
}

@media (prefers-reduced-motion: reduce) {
  .mining-popup__gpu,
  .mining-popup__brrr,
  .vandal-layer__ansem,
  .vandal-gpu,
  .vandal-btc-coin,
  .vandal-layer__mine .pickaxe,
  .vandal-layer__mine .btc-target,
  .sonic-runner {
    animation: none !important;
  }
  body.mining-active::after {
    content: "MINING MODE ON (reduced motion)";
  }
}
