html { scroll-behavior: smooth; }

body.vw-era-1992 {
  --game-night: #171426;
  --game-ink: #292437;
  --game-paper: #f3f0e8;
  --game-shell: #cbc9c8;
  --game-shell-dark: #96919a;
  --game-purple: #6e5aa7;
  --game-purple-dark: #49396f;
  --game-pink: #e95e86;
  --game-blue: #55b9d2;
  --game-sky: #33a7e8;
  --game-display: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;
  --game-ui: "Trebuchet MS", Arial, sans-serif;
  margin: 0;
  background: var(--game-night);
  color: var(--game-ink);
  font-family: var(--game-ui);
}

.vw-era-1992 .era-switcher { z-index: 100; }

.era92 {
  width: min(100%, 1240px);
  margin-inline: auto;
  padding: clamp(0.65rem, 2vw, 1.5rem);
}

.era92-title-screen {
  position: relative;
  min-height: min(820px, calc(100svh - 1.3rem));
  overflow: hidden;
  border: 8px solid #090812;
  background:
    radial-gradient(circle at 18% 17%, rgb(255 255 255 / 85%) 0 2px, transparent 3px),
    radial-gradient(circle at 76% 23%, rgb(255 255 255 / 70%) 0 2px, transparent 3px),
    linear-gradient(#1b3277 0 38%, #397dd0 38% 65%, var(--game-sky) 65%);
  box-shadow: 0 8px 0 #716c78;
  color: #fff;
  isolation: isolate;
}

.era92-title-screen::after {
  position: absolute;
  inset: 0;
  z-index: 8;
  pointer-events: none;
  background: repeating-linear-gradient(0deg, rgb(0 0 0 / 8%) 0 2px, transparent 2px 5px);
  content: "";
  mix-blend-mode: multiply;
}

.era92-topnav {
  position: relative;
  z-index: 12;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1rem;
  align-items: center;
  padding: 1rem clamp(1rem, 3vw, 2.5rem);
  border-bottom: 4px solid rgb(255 255 255 / 28%);
  background: rgb(11 10 24 / 55%);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.era92-topnav a { color: #fff; text-decoration: none; }
.era92-topnav > div { display: flex; gap: clamp(0.9rem, 3vw, 2.2rem); }
.era92-topnav > div a:hover,
.era92-topnav > div a:focus-visible { color: #ffe55b; }
.era92-wordmark { justify-self: start; color: #ffe55b !important; font-size: 0.9rem; text-shadow: 2px 2px 0 var(--game-purple-dark); }

.era92-language {
  justify-self: end;
  display: flex;
  gap: 0.35rem;
  margin: 0;
}

.era92-language a[aria-current="page"] { color: #ffe55b; }

.era92-sky,
.era92-sky > span { position: absolute; }
.era92-sky { inset: 0; z-index: -1; overflow: hidden; }

.era92-cloud {
  width: 100px;
  height: 24px;
  border: 4px solid #17285d;
  background: #fff;
  box-shadow: inset 0 -6px 0 #b8ebff, 6px 6px 0 rgb(0 0 0 / 18%);
}

.era92-cloud::before,
.era92-cloud::after {
  position: absolute;
  bottom: 16px;
  border: 4px solid #17285d;
  border-bottom: 0;
  background: #fff;
  content: "";
}

.era92-cloud::before { left: 15px; width: 34px; height: 25px; }
.era92-cloud::after { right: 13px; width: 26px; height: 18px; }
.era92-cloud-a { top: 23%; left: 7%; animation: era92-float 8s steps(8, end) infinite alternate; }
.era92-cloud-b { top: 31%; right: 8%; transform: scale(0.72); animation: era92-float 11s steps(10, end) infinite alternate-reverse; }

.era92-hill {
  bottom: 98px;
  width: 260px;
  height: 190px;
  border: 6px solid #17412b;
  border-bottom: 0;
  border-radius: 52% 52% 0 0;
  background:
    radial-gradient(circle at 35% 42%, #267a42 0 7px, transparent 8px),
    radial-gradient(circle at 67% 62%, #267a42 0 7px, transparent 8px),
    linear-gradient(135deg, transparent 47%, rgb(255 255 255 / 18%) 48% 53%, transparent 54%),
    #45b54f;
  box-shadow: inset -22px 0 0 rgb(0 0 0 / 12%);
}

.era92-hill-a { left: -45px; }
.era92-hill-b { right: -58px; width: 310px; height: 225px; }

.era92-block {
  top: 34%;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 4px solid #613011;
  background: #f5a623;
  box-shadow: inset -6px -6px 0 #d56b16, 5px 5px 0 rgb(0 0 0 / 24%);
  color: #fff7ae;
  font: 900 1.8rem/1 Arial, sans-serif;
  text-shadow: 2px 2px 0 #7a380e;
}

.era92-block-a { left: 24%; }
.era92-block-b { right: 23%; background: repeating-linear-gradient(0deg, #b95a2a 0 8px, #893d22 8px 12px); }

.era92-ground {
  inset: auto 0 0;
  height: 110px;
  border-top: 8px solid #5f3a1c;
  background:
    linear-gradient(45deg, rgb(255 255 255 / 12%) 25%, transparent 25% 75%, rgb(0 0 0 / 14%) 75%) 0 0 / 32px 32px,
    #9b6639;
  box-shadow: inset 0 13px 0 #50bd55, inset 0 21px 0 #1c6c36;
}

.era92-title-card {
  position: absolute;
  z-index: 10;
  top: 49%;
  left: 50%;
  width: min(92%, 720px);
  transform: translate(-50%, -50%);
  text-align: center;
  text-shadow: 3px 3px 0 #151028;
}

.era92-eyebrow {
  margin: 0 0 0.4rem;
  color: #ffec66;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.18em;
}

.era92-game-logo {
  margin: 0;
  color: #fff;
  font: italic 900 clamp(3.3rem, 8.6vw, 6.2rem)/0.84 Arial, sans-serif;
  letter-spacing: -0.08em;
  text-shadow: 4px 4px 0 var(--game-purple-dark), 7px 7px 0 #221837;
}

.era92-game-logo span { color: #f6e74f; text-shadow: 4px 4px 0 #d94c62, 7px 7px 0 #221837; }

.era92-title-card h1 {
  max-width: 24ch;
  margin: 1.2rem auto 0;
  color: #fff;
  font-size: clamp(1.15rem, 2.8vw, 1.8rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.era92-intro { margin: 0.65rem auto 0; color: #e8f7ff; font: 700 clamp(0.8rem, 1.6vw, 1rem)/1.5 Arial, sans-serif; }

.era92-start,
.era92-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  border: 4px solid #fff;
  background: var(--game-pink);
  box-shadow: 0 6px 0 #8b3450;
  color: #fff;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 90ms steps(2, end), box-shadow 90ms steps(2, end), background 90ms linear;
}

.era92-start { margin-top: 1.5rem; padding: 0.75rem 1.15rem; }
.era92-start span { animation: era92-cursor 0.85s steps(2, end) infinite; }
.era92-start:hover,
.era92-start:focus-visible,
.era92-actions a:hover,
.era92-actions a:focus-visible { background: #f77aa0; transform: translateY(-2px); box-shadow: 0 8px 0 #8b3450; }
.era92-start:active,
.era92-actions a:active { transform: translateY(5px); box-shadow: 0 1px 0 #8b3450; }

.era92-screen-footer {
  position: absolute;
  z-index: 10;
  right: 1.25rem;
  bottom: 1rem;
  margin: 0;
  color: #fff2bb;
  font-size: 0.68rem;
  font-weight: 900;
}

.era92-controller-nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.7rem;
  margin: 1.4rem 0 2.5rem;
  padding: 0.85rem;
  border: 5px solid #37333c;
  border-radius: 0.9rem 0.9rem 2rem 2rem;
  background: var(--game-shell);
  box-shadow: inset 0 0 0 4px #e4e2df, 0 8px 0 #74707a;
}

.era92-controller-nav a {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.65rem;
  align-items: center;
  padding: 0.6rem;
  border: 3px solid var(--game-ink);
  background: #efede9;
  color: var(--game-ink);
  text-decoration: none;
  transition: transform 90ms steps(2, end), background 90ms linear;
}

.era92-controller-nav a:hover,
.era92-controller-nav a:focus-visible { background: #fff9c9; transform: translateY(-2px); }
.era92-controller-nav a:active { transform: translateY(3px); }
.era92-controller-nav span { display: grid; width: 2.1rem; height: 2.1rem; place-items: center; border-radius: 50%; background: var(--game-purple); color: #fff; font-size: 0.58rem; box-shadow: inset -3px -3px 0 var(--game-purple-dark); }
.era92-controller-nav a:nth-child(3) span { background: var(--game-pink); }
.era92-controller-nav a:nth-child(4) span { background: var(--game-blue); }
.era92-controller-nav strong { font-size: 0.78rem; text-transform: uppercase; }

.era92-panel {
  margin-top: 2.5rem;
  border: 6px solid #15121f;
  background: var(--game-paper);
  box-shadow: 9px 10px 0 #736e79;
}

.era92-panel-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(210px, 0.75fr);
  gap: 1rem;
  align-items: center;
  padding: clamp(1rem, 2.5vw, 1.65rem);
  border-bottom: 5px solid #15121f;
  background: var(--game-purple);
  color: #fff;
}

.era92-panel-heading > span,
.era92-contact-number { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border: 3px solid #fff; background: var(--game-pink); box-shadow: 4px 4px 0 #382955; font-weight: 900; }
.era92-panel-heading p { margin: 0; color: #eee9ff; font: 700 0.82rem/1.5 Arial, sans-serif; }
.era92-panel-heading div p { margin-bottom: 0.15rem; color: #ffe85d; font: 900 0.65rem/1.2 "Courier New", monospace; letter-spacing: 0.12em; }
.era92-panel-heading h2 { margin: 0; font-size: clamp(1.35rem, 3vw, 2.2rem); line-height: 1; text-transform: uppercase; }

.era92-inventory {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: clamp(1rem, 3vw, 2rem);
  background:
    linear-gradient(90deg, transparent 49.85%, rgb(41 36 55 / 12%) 50%, transparent 50.15%),
    var(--game-paper);
}

.era92-group { border: 4px solid var(--game-ink); background: #fff; box-shadow: 5px 5px 0 var(--game-shell-dark); }
.era92-group h3 { margin: 0; padding: 0.75rem 0.9rem; border-bottom: 3px solid var(--game-ink); background: #ddd9e4; color: var(--game-purple-dark); font-size: 0.82rem; text-transform: uppercase; }
.era92-item-grid details + details { border-top: 2px solid #c6c0ca; }
.era92-item-grid details[open] { background: #fffbe3; }
.era92-item-grid summary { min-height: 52px; display: grid; grid-template-columns: 1.65rem 1fr auto; gap: 0.65rem; align-items: center; padding: 0.55rem 0.7rem; cursor: pointer; list-style: none; font-weight: 900; }
.era92-item-grid summary::-webkit-details-marker { display: none; }
.era92-item-grid summary::after { color: var(--game-purple); content: "+"; font-size: 1.25rem; }
.era92-item-grid details[open] summary::after { content: "−"; }
.era92-item-grid summary:hover,
.era92-item-grid summary:focus-visible { background: color-mix(in srgb, var(--accent), #fff 88%); }
.era92-item-grid summary:active { transform: translate(2px, 2px); }
.era92-item-grid details > p,
.era92-item-grid details > ul { margin: 0.35rem 0 0; padding: 0 0.85rem 0.8rem; font: 0.82rem/1.55 Arial, sans-serif; }
.era92-item-grid details > ul { margin-top: 0; padding-left: 2rem; }
.era92-item-icon { width: 1.5rem; height: 1.5rem; color: var(--accent); fill: currentColor; stroke: currentColor; }

.era92-projects .era92-panel-heading { background: #226699; }
.era92-game-list { display: grid; gap: 0.7rem; padding: clamp(1rem, 3vw, 2rem); background: #d9eafa; }
.era92-game-list a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  min-height: 88px;
  padding: 0.8rem;
  border: 4px solid var(--game-ink);
  background: #fff;
  box-shadow: 5px 5px 0 color-mix(in srgb, var(--accent), #555 45%);
  color: var(--game-ink);
  text-decoration: none;
  transition: transform 100ms steps(2, end), box-shadow 100ms steps(2, end), background 100ms linear;
}
.era92-game-list a:hover,
.era92-game-list a:focus-visible { transform: translate(-3px, -3px); background: color-mix(in srgb, var(--accent), #fff 92%); box-shadow: 8px 8px 0 var(--accent); }
.era92-game-list a:active { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--accent); }
.era92-game-list small { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border: 3px solid var(--game-ink); background: var(--accent); color: #fff; font-weight: 900; }
.era92-game-list span { display: grid; gap: 0.2rem; }
.era92-game-list strong { overflow-wrap: anywhere; text-transform: uppercase; }
.era92-game-list em { color: #514d58; font: normal 0.82rem/1.4 Arial, sans-serif; }
.era92-game-list b { color: var(--game-purple-dark); font-size: 0.72rem; text-transform: uppercase; }
.era92-game-list i { font-style: normal; }

.era92-contact {
  display: grid;
  grid-template-columns: minmax(250px, 0.76fr) minmax(340px, 1.24fr);
  gap: clamp(1rem, 2.5vw, 2rem);
  background: #68c8eb;
}
.era92-contact-image { position: relative; align-self: center; min-height: 410px; overflow: hidden; margin: clamp(0.8rem, 2vw, 1.4rem) 0 clamp(0.8rem, 2vw, 1.4rem) clamp(0.8rem, 2vw, 1.4rem); border: 5px solid #15121f; background: #09a7f2; box-shadow: 7px 7px 0 #3a3150; }
.era92-contact-image::after { position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgb(0 0 0 / 7%) 0 2px, transparent 2px 5px); content: ""; pointer-events: none; }
.era92-contact-image img { width: 100%; height: 100%; object-fit: cover; image-rendering: pixelated; }
.era92-contact-copy { position: relative; display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4rem) clamp(2rem, 5vw, 4rem) clamp(2rem, 5vw, 4rem) 0; color: #131128; }
.era92-contact-copy > p:first-of-type { margin: 1rem 0 0; color: #3d3671; font-size: 0.72rem; font-weight: 900; letter-spacing: 0.12em; }
.era92-contact-copy h2 { margin: 0.4rem 0 0; color: #fff; font-size: clamp(2.7rem, 7vw, 5.4rem); line-height: 0.9; text-shadow: 5px 5px 0 var(--game-purple-dark); text-transform: uppercase; }
.era92-contact-text { margin: 1rem 0 0; font: 700 1rem/1.6 Arial, sans-serif; }
.era92-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 1.5rem; }
.era92-actions a { padding: 0.7rem 1rem; border-color: #15121f; }
.era92-actions a:last-child { background: var(--game-purple); box-shadow-color: var(--game-purple-dark); }
.era92-actions a span { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: 50%; background: #fff; color: var(--game-purple-dark); }

/* Carry the 16-bit world and game-menu typography through every screen. */
.era92-topnav,
.era92-wordmark,
.era92-title-card h1,
.era92-start,
.era92-actions a,
.era92-controller-nav strong,
.era92-panel-heading h2,
.era92-panel-heading div p,
.era92-contact-copy h2 { font-family: var(--game-display); }

.era92-title-card h1 { font-style: italic; letter-spacing: -0.015em; transform: skewX(-4deg); }
.era92-panel-heading h2,
.era92-contact-copy h2 { display: inline-block; font-style: italic; letter-spacing: -0.01em; text-shadow: 3px 3px 0 #392957; transform: skewX(-4deg); transform-origin: left center; }
.era92-panel-heading div p { letter-spacing: 0.08em; }
.era92-panel-heading > p,
.era92-contact-text { font-family: var(--game-ui); font-weight: 800; }

.era92-expertise { position: relative; overflow: hidden; background: #56bdea; }
.era92-expertise .era92-panel-heading,
.era92-projects .era92-panel-heading { background: #226caa; }

.era92-inventory {
  background:
    radial-gradient(ellipse at 6% 108%, #3ea849 0 12%, transparent 12.5%),
    radial-gradient(ellipse at 94% 108%, #50bd55 0 15%, transparent 15.5%),
    radial-gradient(circle at 12% 10%, rgb(255 255 255 / 90%) 0 14px, transparent 15px),
    radial-gradient(circle at 15% 10%, rgb(255 255 255 / 90%) 0 22px, transparent 23px),
    linear-gradient(#55baf0, #a3e4ff);
}

.era92-group {
  position: relative;
  border-color: #653516;
  background: #fff7c7;
  box-shadow: 7px 7px 0 #83451f;
}

.era92-group::before {
  position: absolute;
  z-index: 2;
  top: -9px;
  right: 14px;
  width: 18px;
  height: 18px;
  border: 3px solid #713714;
  background: #ffd52d;
  box-shadow: inset -3px -3px 0 #e48a19;
  content: "";
  transform: rotate(45deg);
}

.era92-group h3 {
  padding-block: 0.85rem;
  border-bottom: 4px solid #653516;
  background: repeating-linear-gradient(90deg, #e7722b 0 28px, #c65322 28px 32px);
  color: #fff8b8;
  font: 900 0.72rem/1.35 var(--game-display);
  letter-spacing: 0.035em;
  text-shadow: 2px 2px 0 #663015;
}

.era92-item-grid details { background: #fff7c7; }
.era92-item-grid details + details { border-top: 3px solid #d59943; }
.era92-item-grid details[open] { background: #e9f9ff; }
.era92-item-grid summary {
  min-height: 58px;
  grid-template-columns: 2rem 1fr auto;
  gap: 0.7rem;
  padding: 0.6rem 0.75rem;
  font: 900 0.82rem/1.25 var(--game-ui);
  letter-spacing: 0.015em;
}

.era92-item-grid summary::after {
  display: grid;
  width: 1.65rem;
  height: 1.65rem;
  place-items: center;
  border: 3px solid #743d18;
  background: #ffd735;
  box-shadow: inset -3px -3px 0 #e98919;
  color: #713614;
  font: 900 1.05rem/1 var(--game-display);
}

.era92-item-grid summary:hover,
.era92-item-grid summary:focus-visible { background: #fff0a1; }
.era92-item-grid details > p,
.era92-item-grid details > ul { margin-top: 0.55rem; font: 800 0.86rem/1.58 var(--game-ui); }
.era92-item-grid details > ul { margin-top: 0; }
.era92-item-icon { width: 1.8rem; height: 1.8rem; padding: 0.22rem; border: 2px solid #57351e; background: #fff; box-shadow: 2px 2px 0 var(--accent); }

.era92-projects { position: relative; overflow: hidden; background: #65c9f2; }
.era92-project-stage {
  position: relative;
  height: 105px;
  overflow: hidden;
  border-bottom: 5px solid #1b592d;
  background: linear-gradient(#58bced 0 78%, #50bc51 78%);
  box-shadow: inset 0 -12px 0 #318f3e;
}

.era92-stage-cloud { position: absolute; top: 18px; left: 10%; width: 70px; height: 18px; border: 3px solid #24507e; background: #fff; box-shadow: 5px 5px 0 rgb(0 0 0 / 16%); }
.era92-stage-cloud::before,
.era92-stage-cloud::after { position: absolute; bottom: 14px; border: 3px solid #24507e; border-bottom: 0; background: #fff; content: ""; }
.era92-stage-cloud::before { left: 10px; width: 24px; height: 18px; }
.era92-stage-cloud::after { right: 8px; width: 20px; height: 13px; }
.era92-stage-bricks { position: absolute; bottom: 25px; left: 31%; display: flex; gap: 3px; }
.era92-stage-bricks i {
  width: 28px;
  height: 23px;
  border: 3px solid #713718;
  background: linear-gradient(90deg, transparent 45%, #b84d1d 45% 55%, transparent 55%), linear-gradient(#ee7d28 0 44%, #b84d1d 44% 56%, #df641f 56%);
  box-shadow: inset 3px 3px 0 #ffad38, 3px 3px 0 rgb(0 0 0 / 18%);
}
.era92-stage-coins { position: absolute; z-index: 2; top: 18px; left: 52%; display: flex; gap: 1.4rem; }
.era92-stage-coins i {
  width: 15px;
  height: 21px;
  border: 3px solid #8a4a13;
  border-radius: 50%;
  background: #ffd72d;
  box-shadow: inset -3px 0 0 #ef8b16;
  animation: era92-coin-spin 1.1s steps(4, end) infinite, era92-coin-pop 8s steps(1, end) infinite;
}
.era92-stage-coins i:nth-child(2) { animation-delay: 0s, 120ms; }
.era92-stage-coins i:nth-child(3) { animation-delay: 0s, 240ms; }
.era92-stage-powerup {
  position: absolute;
  z-index: 3;
  bottom: 12px;
  left: -48px;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 4px solid #713718;
  border-radius: 50%;
  background: #ffd52e;
  box-shadow: inset 5px 5px 0 #fff178, inset -5px -5px 0 #ed801e, 4px 4px 0 rgb(0 0 0 / 25%);
  animation: era92-powerup-roll 8s steps(30, end) infinite;
  color: #713718;
}
.era92-stage-powerup::before { position: absolute; top: 6px; left: 9px; width: 9px; height: 5px; border-radius: 50%; background: #fff7a5; content: ""; transform: rotate(-28deg); }
.era92-stage-powerup i { font: 900 0.76rem/1 var(--game-display); font-style: normal; letter-spacing: -0.04em; text-shadow: 2px 2px 0 #fff178; }
.era92-stage-pipe {
  position: absolute;
  z-index: 4;
  right: 6%;
  bottom: 0;
  width: 48px;
  height: 44px;
  border: 4px solid #17552c;
  background: linear-gradient(90deg, #2a963d 0 18%, #64d657 18% 42%, #39ac45 42% 72%, #1d7b36 72%);
  box-shadow: inset 4px 0 #9bec76, 4px 0 0 rgb(0 0 0 / 18%);
}
.era92-stage-pipe::before { position: absolute; top: -13px; left: -9px; width: 58px; height: 16px; border: 4px solid #17552c; background: linear-gradient(90deg, #2a963d 0 18%, #64d657 18% 42%, #39ac45 42% 72%, #1d7b36 72%); content: ""; }

.era92-game-list { background: linear-gradient(#8cddfa 0 82%, #49b64e 82% 88%, #9b6232 88%); }
.era92-game-list a { position: relative; border-color: #673617; background: #fff7c7; box-shadow: 6px 6px 0 #83451f; }
.era92-game-list a::before { position: absolute; z-index: 3; top: 42%; right: 18%; color: #ffd52e; content: "●"; font-size: 1.5rem; opacity: 0; text-shadow: 2px 2px 0 #8a4a13; transition: top 220ms steps(4, end), opacity 80ms linear; }
.era92-game-list a:hover,
.era92-game-list a:focus-visible { z-index: 1; background: #fff0a1; box-shadow: 12px 14px 0 #e45d2b; transform: translate(-6px, -8px) scale(1.012); }
.era92-game-list a:hover::before,
.era92-game-list a:focus-visible::before { top: -24px; opacity: 1; }
.era92-game-list a:hover small,
.era92-game-list a:focus-visible small { animation: era92-block-bump 320ms steps(3, end); }
.era92-game-list a:hover strong,
.era92-game-list a:focus-visible strong { color: #cc452b; text-shadow: 1px 1px 0 #fff; }
.era92-game-list a:hover b,
.era92-game-list a:focus-visible b { background: var(--game-pink); color: #fff; transform: translateX(3px); }
.era92-game-list a:active { background: #ffe778; box-shadow: 2px 2px 0 #83451f; transform: translate(5px, 5px) scale(0.995); }
.era92-game-list small { width: 2.8rem; height: 2.8rem; border-color: #663516; background: #f4a62a; box-shadow: inset -5px -5px 0 #cf5b24; color: #fff7b5; font: 900 0.78rem/1 var(--game-display); text-shadow: 2px 2px 0 #6b3015; }
.era92-game-list strong { color: #462812; font: 900 0.82rem/1.3 var(--game-display); letter-spacing: 0.02em; }
.era92-game-list em { color: #51402f; font: 700 0.8rem/1.4 var(--game-ui); }
.era92-game-list b { padding: 0.45rem 0.55rem; border: 2px solid #663516; background: #ffd62e; box-shadow: 3px 3px 0 #c95a22; color: #643414; font: 900 0.66rem/1 var(--game-display); }

.era92-footer { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; margin-top: 2rem; padding: 1rem; border: 5px solid #15121f; background: var(--game-shell); box-shadow: 7px 7px 0 #716d77; font-size: 0.75rem; font-weight: 900; text-transform: uppercase; }
.era92-footer p { margin: 0; text-align: center; }
.era92-footer a { color: var(--game-purple-dark); }

.era92 a:focus-visible,
.era92 summary:focus-visible { outline: 4px solid #ffef52; outline-offset: 3px; }

@keyframes era92-cursor { 50% { opacity: 0; } }
@keyframes era92-float { to { translate: 28px 0; } }
@keyframes era92-coin-spin { 50% { transform: scaleX(0.35); } }
@keyframes era92-coin-pop {
  0%, 42%, 56%, 100% { translate: 0 0; }
  46% { translate: 0 -10px; }
  50% { translate: 0 2px; }
}
@keyframes era92-powerup-roll {
  0% { left: -48px; bottom: 12px; opacity: 0; transform: rotate(0deg) scale(0.9); }
  5% { opacity: 1; transform: rotate(40deg) scale(1); }
  24% { left: 24%; bottom: 12px; transform: rotate(240deg); }
  32% { left: 31%; bottom: 57px; transform: rotate(330deg); }
  41% { left: 41%; bottom: 12px; transform: rotate(450deg); }
  48% { left: 48%; bottom: 12px; transform: rotate(525deg); }
  54% { left: 54%; bottom: 42px; transform: rotate(610deg); }
  61% { left: 62%; bottom: 12px; transform: rotate(700deg); }
  76% { left: 82%; bottom: 12px; opacity: 1; transform: rotate(900deg) scale(1); }
  84% { left: 88%; bottom: 2px; opacity: 0; transform: rotate(990deg) scale(0.72); }
  100% { left: 88%; bottom: 2px; opacity: 0; transform: rotate(990deg) scale(0.72); }
}
@keyframes era92-block-bump { 50% { transform: translateY(-8px) rotate(-3deg); } }

@media (max-width: 780px) {
  .era92 { padding: 0.45rem; }
  .era92-title-screen { min-height: 720px; border-width: 5px; }
  .era92-topnav { grid-template-columns: 1fr auto; padding: 0.8rem; }
  .era92-topnav > div { display: none; }
  .era92-title-card { top: 47%; }
  .era92-game-logo { font-size: clamp(2.9rem, 16vw, 4.6rem); }
  .era92-title-card h1 { font-size: clamp(1rem, 5vw, 1.35rem); }
  .era92-block-a { left: 10%; }
  .era92-block-b { right: 9%; }
  .era92-hill { width: 190px; height: 150px; }
  .era92-hill-b { width: 230px; height: 175px; }
  .era92-controller-nav { grid-template-columns: repeat(2, 1fr); }
  .era92-panel-heading { grid-template-columns: auto 1fr; }
  .era92-panel-heading > p { grid-column: 1 / -1; }
  .era92-inventory { grid-template-columns: 1fr; }
  .era92-game-list a { grid-template-columns: auto minmax(0, 1fr); }
  .era92-game-list b { grid-column: 2; }
  .era92-contact { grid-template-columns: 1fr; }
  .era92-contact-image { width: calc(100% - 2rem); min-height: 350px; margin: 1rem auto 0; }
  .era92-contact-copy { min-height: 380px; padding: 2rem; }
  .era92-footer { grid-template-columns: 1fr; text-align: center; }
}

@media (max-width: 430px) {
  .era92-controller-nav { gap: 0.45rem; padding: 0.55rem; }
  .era92-controller-nav a { gap: 0.45rem; padding: 0.45rem; }
  .era92-controller-nav strong { font-size: 0.67rem; }
  .era92-controller-nav span { width: 1.8rem; height: 1.8rem; }
  .era92-panel { border-width: 4px; box-shadow: 5px 6px 0 #736e79; }
  .era92-panel-heading { padding: 0.85rem; }
  .era92-game-list { padding: 0.75rem; }
  .era92-game-list a { gap: 0.7rem; padding: 0.65rem; }
  .era92-game-list em { font-size: 0.76rem; }
  .era92-contact-image { min-height: 300px; }
  .era92-contact-copy { min-height: 350px; padding: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .era92-start span,
  .era92-cloud,
  .era92-stage-coins i,
  .era92-stage-powerup { animation: none; }
}
