:root {
  color-scheme: dark;
  --black: #030303;
  --ink: #caff20;
  --hot: #efffc5;
  --muted: #789d32;
  --dim: #33451a;
  --line: rgba(202, 255, 32, 0.28);
  --line-hot: rgba(202, 255, 32, 0.92);
  --ease: cubic-bezier(.16, 1, .3, 1);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: radial-gradient(circle at 50% 24%, rgba(137, 186, 0, .08), transparent 35%), var(--black);
}

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: radial-gradient(circle at 50% 24%, rgba(137, 186, 0, .08), transparent 35%), var(--black);
  color: var(--ink);
  font-family: "Simple Console", "Courier New", monospace;
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

body.signal-high {
  --line: rgba(202, 255, 32, 0.52);
  --line-hot: #caff20;
}

::selection {
  background: var(--ink);
  color: var(--black);
}

a,
button,
input {
  color: inherit;
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 14px;
  left: 14px;
  padding: 9px 12px;
  background: var(--ink);
  color: var(--black);
  transform: translateY(-180%);
}

.skip-link:focus {
  transform: none;
}

.screen-fx {
  position: fixed;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  contain: layout paint style;
}

.screen-fx::before {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(90deg, transparent 0 71px, rgba(202,255,32,.035) 71px 72px),
    repeating-linear-gradient(0deg, transparent 0 71px, rgba(202,255,32,.028) 71px 72px);
  content: "";
  opacity: .7;
  -webkit-mask-image: radial-gradient(circle at 50% 44%, #000 0 28%, transparent 78%);
  mask-image: radial-gradient(circle at 50% 44%, #000 0 28%, transparent 78%);
}

.ascii-field {
  position: absolute;
  z-index: 1;
  inset: -2%;
  margin: 0;
  color: rgba(202, 255, 32, 0.06);
  font: 400 18px/22px "Simple Console", monospace;
  white-space: pre;
  transition: color 400ms ease;
}

.signal-high .ascii-field {
  color: rgba(202, 255, 32, 0.12);
}

.micro-patterns {
  position: absolute;
  z-index: 1;
  inset: 0;
}

.micro-pattern {
  position: absolute;
  margin: 0;
  color: rgba(202,255,32,.075);
  font: 400 9px/1.2 "Simple Console", monospace;
  letter-spacing: 0;
  white-space: pre;
}

.micro-pattern-route {
  top: 18%;
  left: 3.5%;
}

.micro-pattern-orbit {
  top: 42%;
  right: 4%;
}

.micro-pattern-bank {
  bottom: 12%;
  left: 7%;
}

.scanlines {
  position: absolute;
  z-index: 3;
  inset: 0;
  opacity: 0.1;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 3px, rgba(202,255,32,.12) 4px);
}

.vignette {
  position: absolute;
  z-index: 4;
  inset: -15%;
  background: radial-gradient(circle at center, rgba(202,255,32,.025), transparent 34%, rgba(0,0,0,.82) 100%);
}

.site-header {
  position: fixed;
  z-index: 30;
  top: 0;
  left: 0;
  display: grid;
  width: 100%;
  grid-template-columns: 46px 1fr auto;
  align-items: center;
  gap: 22px;
  padding: 18px 22px;
  background: linear-gradient(to bottom, rgba(3,3,3,.92), transparent);
  font-size: 12px;
}

.coin-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--ink);
  border-radius: 50%;
  text-decoration: none;
  transition: color 240ms ease, background 240ms ease, transform 700ms var(--ease);
}

.coin-mark:hover,
.coin-mark:focus-visible {
  background: var(--ink);
  color: var(--black);
  transform: rotate(360deg);
}

.site-header nav {
  display: flex;
  justify-content: center;
  gap: clamp(12px, 3vw, 42px);
}

.site-header nav a,
.signal-button {
  color: var(--muted);
  text-decoration: none;
}

.site-header nav a:hover,
.site-header nav a:focus-visible,
.signal-button:hover,
.signal-button:focus-visible {
  color: var(--ink);
}

.signal-button {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.scroll-meter {
  position: fixed;
  z-index: 28;
  top: 50%;
  right: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: var(--dim);
  font-size: 10px;
  transform: translateY(-50%);
}

.meter-track {
  position: relative;
  display: block;
  width: 1px;
  height: 144px;
  background: rgba(202,255,32,.12);
}

.meter-track i {
  position: absolute;
  inset: 0;
  background: var(--ink);
  transform: scaleY(0);
  transform-origin: top;
  will-change: transform;
}

.exit-nodes {
  position: fixed;
  z-index: 31;
  bottom: 15px;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px;
  border: 1px solid var(--line);
  background: rgba(3,3,3,.92);
  box-shadow: 0 0 24px rgba(202,255,32,.06);
  color: var(--muted);
  font-size: 10px;
  transform: translateX(-50%);
}

.exit-nodes > span {
  padding: 5px 8px;
}

.exit-nodes a {
  padding: 5px 8px;
  border-left: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
  white-space: nowrap;
}

.exit-nodes a:hover,
.exit-nodes a:focus-visible {
  outline: 0;
  background: var(--ink);
  color: var(--black);
  box-shadow: 0 0 22px rgba(202,255,32,.25);
}

main,
.ticker {
  position: relative;
  z-index: 1;
}

.scene {
  position: relative;
  width: 100%;
  border-bottom: 1px solid var(--line);
  background: rgba(3,3,3,.36);
}

.scene-signal {
  min-height: 100svh;
  overflow: hidden;
}

.scene-signal::after {
  position: absolute;
  z-index: 6;
  top: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0 7%, rgba(202,255,32,.2) 22%, var(--ink) 50%, rgba(202,255,32,.2) 78%, transparent 93%);
  box-shadow: 0 0 12px rgba(202,255,32,.72), 0 0 36px rgba(202,255,32,.26);
  content: "";
  opacity: 0;
  pointer-events: none;
  animation: signal-sweep 4.8s linear infinite;
  will-change: transform, opacity;
}

.scene-corners {
  position: absolute;
  z-index: 3;
  inset: 90px 26px 24px;
  color: var(--dim);
  font-size: 10px;
  pointer-events: none;
}

.scene-corners span {
  position: absolute;
}

.scene-corners span:nth-child(1) { top: 0; left: 0; }
.scene-corners span:nth-child(2) { top: 0; right: 0; text-align: right; }
.scene-corners span:nth-child(3) { bottom: 0; left: 0; }
.scene-corners span:nth-child(4) { right: 0; bottom: 0; }
.scene-corners i { font-style: normal; }

.wordmark-stage {
  position: absolute;
  z-index: 4;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  padding: 120px 20px 100px;
  text-align: center;
}

.micro-label,
.hero-whisper,
.scene-title p,
.portal-core > p,
.form-status {
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .12em;
}

.micro-label {
  margin: 0 0 40px;
}

.hero-wordmark {
  min-height: 270px;
  margin: 0;
  color: var(--ink);
  font: 400 clamp(6px, 1.22vw, 18px)/.82 "Simple Console", monospace;
  letter-spacing: 0;
  text-align: left;
  white-space: pre;
  text-shadow: 0 0 5px rgba(202,255,32,.52), 0 0 24px rgba(202,255,32,.24);
  filter: drop-shadow(8px 8px 0 rgba(74,99,16,.18));
}

.ascii-word-row {
  display: flex;
  justify-content: center;
  gap: 2ch;
}

.ascii-word-row + .ascii-word-row {
  margin-top: 2.5em;
}

.ascii-letter {
  display: inline-block;
  flex: 0 0 auto;
  white-space: pre;
  transform-origin: 50% 55%;
  animation: letter-drift var(--gd) cubic-bezier(.45,0,.55,1) var(--gdelay) infinite alternate;
}

.ascii-particle {
  display: inline-block;
  transform-origin: center;
  animation: particle-drift var(--pd) cubic-bezier(.45,0,.55,1) var(--pdelay) infinite alternate;
}

.hero-whisper {
  margin: 42px 0 0;
}

.echo-cloud {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
}

.echo-cloud span {
  position: absolute;
  top: var(--y);
  left: var(--x);
  color: rgba(202,255,32,.11);
  font-size: 10px;
  animation: echo-drift var(--d) ease-in-out infinite alternate;
}

.coin-swarm {
  position: absolute;
  z-index: 5;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  perspective: 900px;
}

.signal-coin {
  position: absolute;
  width: max-content;
  margin: 0;
  color: var(--ink);
  font: 400 clamp(5px, .48vw, 8px)/.82 "Simple Console", monospace;
  white-space: pre;
  text-shadow: 0 0 7px rgba(202,255,32,.56);
  contain: layout paint style;
  will-change: transform;
}

.coin-01 { top: 9%; left: -3%; animation: coin-float-a 13s ease-in-out infinite alternate; }
.coin-02 { top: 4%; right: 2%; animation: coin-float-b 17s ease-in-out infinite alternate; }
.coin-03 { top: 58%; left: -5%; animation: coin-float-b 19s ease-in-out infinite alternate-reverse; }
.coin-04 { right: -4%; bottom: 7%; animation: coin-float-a 15s ease-in-out infinite alternate-reverse; }
.coin-05 { top: 28%; left: 16%; opacity: .55; animation: coin-float-c 21s ease-in-out infinite alternate; }
.coin-06 { right: 17%; bottom: 27%; opacity: .52; animation: coin-float-c 16s ease-in-out infinite alternate-reverse; }

.scroll-cue {
  position: absolute;
  z-index: 5;
  bottom: 25px;
  left: 50%;
  color: var(--muted);
  font-size: 11px;
  text-decoration: none;
  transform: translateX(-50%);
  animation: blink 1.6s steps(2, end) infinite;
}

.ticker {
  overflow: hidden;
  border-bottom: 1px solid var(--black);
  background: var(--ink);
  color: var(--black);
  box-shadow: 0 0 28px rgba(202,255,32,.18);
}

.ticker-track {
  display: flex;
  width: max-content;
  animation: ticker 29s linear infinite;
  will-change: transform;
}

.ticker span {
  padding: 9px 34px 7px;
  border-right: 1px solid var(--black);
  font-size: 12px;
  white-space: nowrap;
}

.scene-currencies {
  min-height: 120svh;
  padding-top: 1px;
  content-visibility: auto;
  contain-intrinsic-size: auto 1450px;
}

.scene-title {
  position: relative;
  z-index: 3;
  width: min(1160px, calc(100vw - 64px));
  margin: 0 auto;
  padding: 120px 0 58px;
}

.scene-title h2 {
  max-width: 820px;
  margin: 20px 0 0;
  font-size: clamp(36px, 6.5vw, 104px);
  line-height: .88;
  font-weight: 400;
  letter-spacing: -.04em;
}

#currency-title {
  max-width: none;
  font-size: clamp(32px, 5.6vw, 84px);
  white-space: nowrap;
}

.signal-evidence {
  position: absolute;
  z-index: 5;
  top: 132px;
  right: max(24px, calc((100vw - 1320px) / 2));
  display: flex;
  gap: 9px;
}

.signal-evidence figure {
  width: clamp(116px, 11vw, 158px);
  margin: 0;
  border: 1px solid rgba(202,255,32,.34);
  background: #030303;
  box-shadow: 7px 7px 0 rgba(202,255,32,.055);
}

.signal-evidence figure:nth-child(2) {
  margin-top: 23px;
}

.signal-evidence img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 520 / 293;
  object-fit: cover;
  opacity: .84;
}

.signal-evidence figcaption {
  padding: 5px 6px 4px;
  border-top: 1px solid rgba(202,255,32,.2);
  color: var(--muted);
  font-size: 7px;
  letter-spacing: .06em;
}

.monument-grid {
  position: relative;
  z-index: 4;
  display: grid;
  width: min(1320px, calc(100vw - 32px));
  min-height: 78svh;
  margin: 0 auto;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.monument {
  position: relative;
  display: grid;
  min-width: 0;
  align-content: center;
  justify-items: center;
  padding: 76px 20px 54px;
  border: 0;
  border-right: 1px solid var(--line);
  background: rgba(3,3,3,.82);
  color: var(--ink);
  cursor: pointer;
  overflow: hidden;
  transition: background 450ms var(--ease), color 450ms var(--ease);
}

.monument:last-child {
  border-right: 0;
}

.monument::before {
  position: absolute;
  inset: 10px;
  border: 1px solid transparent;
  content: "";
  transition: border-color 300ms ease, inset 500ms var(--ease);
}

.monument:hover::before,
.monument:focus-visible::before,
.monument.active::before {
  inset: 18px;
  border-color: currentColor;
}

.monument:hover,
.monument:focus-visible,
.monument.active {
  outline: 0;
  background: var(--ink);
  color: var(--black);
  box-shadow: inset 0 0 70px rgba(255,255,255,.18), 0 0 38px rgba(202,255,32,.17);
}

.monument-index {
  position: absolute;
  top: 26px;
  left: 28px;
  color: var(--muted);
  font-size: 10px;
}

.monument:hover .monument-index,
.monument:focus-visible .monument-index,
.monument.active .monument-index {
  color: #3b3b38;
}

.token-art {
  min-height: 260px;
  margin: 0;
  font: 400 clamp(6px, .72vw, 11px)/.9 "Simple Console", monospace;
  white-space: pre;
  transition: transform 700ms var(--ease);
  text-shadow: 0 0 7px rgba(202,255,32,.3);
}

.monument:hover .token-art,
.monument:focus-visible .token-art,
.monument.active .token-art {
  transform: scale(1.07) rotate(-1deg);
}

.monument:nth-child(2):hover .token-art,
.monument:nth-child(2):focus-visible .token-art,
.monument:nth-child(2).active .token-art {
  transform: scale(1.07) rotate(1deg);
}

.monument-name {
  margin-top: 22px;
  font-size: clamp(27px, 3vw, 48px);
  line-height: 1;
}

.monument:first-child .monument-name {
  font-size: clamp(20px, 2.15vw, 34px);
}

.monument-whisper {
  margin-top: 16px;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .08em;
  text-align: center;
}

.monument:hover .monument-whisper,
.monument:focus-visible .monument-whisper,
.monument.active .monument-whisper {
  color: #3b3b38;
}

.transmission-console {
  position: relative;
  z-index: 5;
  display: grid;
  width: min(960px, calc(100vw - 32px));
  margin: 70px auto 120px;
  grid-template-columns: auto 1fr;
  border: 1px solid var(--line);
  font-size: 12px;
}

.transmission-console span,
.transmission-console strong {
  padding: 13px 16px 11px;
  border-bottom: 1px solid var(--line);
}

.transmission-console > :nth-last-child(-n + 2) {
  border-bottom: 0;
}

.transmission-console span {
  border-right: 1px solid var(--line);
  color: var(--muted);
}

.transmission-console strong {
  font-weight: 400;
}

.scene-portal {
  min-height: 165svh;
}

.portal-stage {
  position: sticky;
  top: 0;
  display: grid;
  width: 100%;
  height: 100svh;
  place-items: center;
  overflow: hidden;
  background: var(--black);
}

.portal-art {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: max-content;
  margin: 0;
  color: rgba(202,255,32,.58);
  font: 400 clamp(6px, .85vw, 13px)/.9 "Simple Console", monospace;
  white-space: pre;
  transform: translate3d(-50%, -50%, 0);
  text-shadow: 0 0 8px rgba(202,255,32,.34);
  animation: portal-breathe 18s ease-in-out infinite alternate;
  contain: layout paint style;
  will-change: transform;
}

.portal-core {
  position: relative;
  z-index: 5;
  width: min(640px, calc(100vw - 40px));
  padding: 34px clamp(22px, 5vw, 62px) 36px;
  border: 1px solid var(--line-hot);
  background: rgba(3,3,3,.92);
  box-shadow: 0 0 0 12px rgba(3,3,3,.7), 0 0 90px rgba(202,255,32,.14);
  text-align: center;
}

.portal-core h2 {
  margin: 20px 0 36px;
  font-size: clamp(34px, 5vw, 60px);
  line-height: .9;
  font-weight: 400;
  letter-spacing: -.05em;
}

.signal-video-shell {
  position: relative;
  width: 100%;
  margin-top: 28px;
  overflow: hidden;
  border: 1px solid var(--ink);
  background: #000;
  box-shadow: 0 0 34px rgba(202,255,32,.12);
  aspect-ratio: 16 / 9;
}

.signal-video-shell::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(202,255,32,.28);
  content: "";
  pointer-events: none;
}

.signal-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.portal-footer {
  position: absolute;
  z-index: 5;
  right: 22px;
  bottom: 18px;
  left: 22px;
  display: flex;
  justify-content: space-between;
  color: var(--dim);
  font-size: 9px;
}

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 900ms var(--ease), transform 1100ms var(--ease);
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

@keyframes echo-drift {
  0% { transform: translate(-7px, -5px); opacity: .35; }
  50% { opacity: 1; }
  100% { transform: translate(10px, 8px); opacity: .2; }
}

@keyframes signal-sweep {
  0% { transform: translate3d(0, 0, 0); opacity: 0; }
  8% { opacity: .95; }
  84% { opacity: .72; }
  100% { transform: translate3d(0, 100svh, 0); opacity: 0; }
}

@keyframes letter-drift {
  0% { transform: translate3d(var(--gx0), var(--gy0), 0) rotate(var(--gr0)) scale(.94); opacity: .48; }
  46% { opacity: 1; }
  49% { transform: translate3d(0, -1px, 0) rotate(0) scale(1.08); opacity: .66; }
  52% { transform: translate3d(1px, 0, 0) rotate(0) scale(.97); opacity: 1; }
  100% { transform: translate3d(var(--gx1), var(--gy1), 0) rotate(var(--gr1)) scale(1.04); opacity: .78; }
}

@keyframes particle-drift {
  0% { transform: translate3d(var(--px0), var(--py0), 0) rotate(var(--pr0)) scale(.9); opacity: .42; }
  36% { opacity: 1; }
  49% { transform: translate3d(1px, -1px, 0) rotate(0) scale(1.16); opacity: .58; }
  53% { transform: translate3d(-1px, 0, 0) rotate(0) scale(.95); opacity: 1; }
  100% { transform: translate3d(var(--px1), var(--py1), 0) rotate(var(--pr1)) scale(1.06); opacity: .74; }
}

@keyframes coin-float-a {
  0% { transform: translate3d(-12px,-8px,0) rotateX(58deg) rotateZ(-13deg) scale(.82); }
  100% { transform: translate3d(16px,18px,90px) rotateX(67deg) rotateZ(9deg) scale(1.08); }
}

@keyframes coin-float-b {
  0% { transform: translate3d(12px,-14px,40px) rotateX(62deg) rotateZ(18deg) scale(.72); }
  100% { transform: translate3d(-18px,15px,120px) rotateX(48deg) rotateZ(-8deg) scale(1.02); }
}

@keyframes coin-float-c {
  0% { transform: translate3d(0,-10px,-40px) rotateX(70deg) rotateZ(-24deg) scale(.58); }
  100% { transform: translate3d(8px,14px,30px) rotateX(52deg) rotateZ(22deg) scale(.76); }
}

@keyframes portal-breathe {
  from { transform: translate3d(-50%, -50%, 0) scale(.99); opacity: .72; }
  to { transform: translate3d(-50%, -50%, 0) scale(1.025); opacity: 1; }
}

@keyframes blink {
  0%, 52% { opacity: 1; }
  53%, 100% { opacity: .25; }
}

@keyframes ticker {
  to { transform: translateX(-50%); }
}

@media (max-width: 820px) {
  .site-header {
    grid-template-columns: 42px 1fr;
    gap: 14px;
  }

  .site-header nav {
    justify-content: flex-end;
  }

  .signal-button {
    display: none;
  }

  .scene-title {
    width: calc(100vw - 32px);
  }

  .signal-evidence {
    position: relative;
    top: auto;
    right: auto;
    width: calc(100vw - 32px);
    margin: -24px auto 38px;
    justify-content: flex-end;
  }

  .signal-evidence figure {
    width: min(35vw, 156px);
  }

  .monument-grid {
    display: block;
  }

  .monument {
    width: 100%;
    min-height: 82svh;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .monument:last-child {
    border-bottom: 0;
  }

  .token-art {
    font-size: clamp(7px, 1.55vw, 10px);
  }
}

@media (max-width: 560px) {
  .site-header {
    padding: 13px 12px;
    font-size: 9px;
  }

  .site-header nav {
    gap: 7px;
  }

  .coin-mark {
    width: 38px;
    height: 38px;
    font-size: 11px;
  }

  .scroll-meter {
    display: none;
  }

  .exit-nodes {
    bottom: 9px;
    width: calc(100vw - 20px);
    justify-content: center;
    font-size: 8px;
  }

  .exit-nodes > span {
    display: none;
  }

  .exit-nodes a {
    padding: 5px 6px;
  }

  .scene-corners {
    inset: 76px 12px 17px;
    font-size: 8px;
  }

  .scene-corners span:nth-child(3),
  .scene-corners span:nth-child(4) {
    display: none;
  }

  .wordmark-stage {
    padding: 100px 6px 80px;
  }

  .hero-wordmark {
    min-height: 172px;
    font-size: clamp(5px, 1.55vw, 6.2px);
  }

  .micro-label {
    margin-bottom: 28px;
  }

  .hero-whisper {
    margin-top: 28px;
    font-size: 9px;
  }

  .echo-cloud span {
    font-size: 8px;
  }

  .micro-pattern {
    font-size: 7px;
  }

  .micro-pattern-orbit {
    display: none;
  }

  .signal-coin {
    font-size: 5px;
  }

  .coin-01 { left: -16%; }
  .coin-02 { right: -17%; }
  .coin-03 { left: -23%; }
  .coin-04 { right: -20%; }
  .coin-05,
  .coin-06 { display: none; }

  .scene-title {
    padding: 94px 0 40px;
  }

  .scene-title h2 {
    font-size: clamp(43px, 14vw, 64px);
  }

  #currency-title {
    font-size: clamp(30px, 10vw, 42px);
  }

  .monument {
    min-height: 76svh;
    padding: 62px 8px 42px;
  }

  .token-art {
    min-height: 220px;
    font-size: 7px;
  }

  .monument-name {
    font-size: clamp(28px, 9vw, 36px);
  }

  .monument:first-child .monument-name {
    font-size: clamp(22px, 6.8vw, 29px);
  }

  .transmission-console {
    grid-template-columns: 1fr;
    margin: 40px auto 84px;
  }

  .transmission-console span,
  .transmission-console strong {
    border-right: 0;
    border-bottom: 1px solid var(--line) !important;
  }

  .transmission-console > :last-child {
    border-bottom: 0 !important;
  }

  .portal-art {
    font-size: 6px;
  }

  .portal-core {
    width: calc(100vw - 24px);
    padding: 28px 18px 30px;
  }

  .portal-core h2 {
    font-size: clamp(29px, 9vw, 44px);
  }

  .portal-footer {
    right: 12px;
    left: 12px;
    font-size: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}
