:root {
  --ink: #080815;
  --ink-2: #111027;
  --paper: #f0ce78;
  --paper-soft: #d7b965;
  --magenta: #d82fa7;
  --violet: #6d42ff;
  --cyan: #2bbbe9;
  --blue: #104dbe;
  --white: #fff4c9;
  --muted: #9d8f78;
  --line: rgba(240, 206, 120, .55);
  --glow: 0 0 24px rgba(216, 47, 167, .36), 0 0 56px rgba(43, 187, 233, .15);
  --page: min(1240px, calc(100vw - 120px));
  --rail: 50px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--paper);
  background:
    radial-gradient(circle at 16% 22%, rgba(35, 76, 187, .28), transparent 26%),
    radial-gradient(circle at 76% 24%, rgba(216, 47, 167, .14), transparent 18%),
    radial-gradient(circle at 70% 72%, rgba(43, 187, 233, .12), transparent 28%),
    var(--ink);
  font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
  letter-spacing: .03em;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 100;
  opacity: .22;
  background-image: url("assets/grain.png");
  mix-blend-mode: screen;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 99;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 3px 3px;
  mix-blend-mode: soft-light;
}

a { color: inherit; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { color: var(--ink); background: var(--paper); }

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 999;
  transform: translateY(-140%);
  background: var(--paper);
  color: var(--ink);
  padding: .8rem 1rem;
}
.skip-link:focus { transform: none; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.site-noise {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  background: repeating-radial-gradient(circle at 30% 30%, transparent 0 6px, rgba(240,206,120,.02) 7px 8px);
}

#signal-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  opacity: .55;
}

.topbar {
  position: fixed;
  inset: 0 0 auto 0;
  height: 70px;
  z-index: 80;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 2rem;
  padding: 0 24px 0 18px;
  border-bottom: 1px solid var(--line);
  background: rgba(8, 8, 21, .84);
  backdrop-filter: blur(14px);
}

.brand {
  display: flex;
  align-items: center;
  gap: .6rem;
  text-decoration: none;
  line-height: .8;
}
.brand-mark {
  color: var(--ink);
  background: var(--paper);
  padding: .55rem .45rem .42rem;
  font-size: 1.7rem;
  font-weight: 900;
  letter-spacing: -.08em;
  transform: skew(-8deg);
}
.brand-copy { font-weight: 900; letter-spacing: .05em; }
.brand-copy small { font-size: .55rem; color: var(--cyan); letter-spacing: .22em; }

.status-strip {
  display: flex;
  justify-content: center;
  gap: clamp(.7rem, 2vw, 2rem);
  font: 700 .63rem/1 monospace;
  letter-spacing: .13em;
  color: var(--paper-soft);
  white-space: nowrap;
}
.status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--magenta);
  box-shadow: 0 0 12px var(--magenta);
  animation: pulse 1.6s ease-in-out infinite;
}

.menu-toggle {
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  background: transparent;
  display: none;
  place-content: center;
  gap: 5px;
  color: var(--paper);
}
.menu-toggle span:not(.sr-only) { display: block; width: 20px; height: 1px; background: currentColor; }

.primary-nav {
  position: fixed;
  top: 70px;
  left: 50%;
  z-index: 79;
  transform: translateX(-50%);
  display: flex;
  align-items: stretch;
  border: 1px solid var(--line);
  border-top: 0;
  background: rgba(8,8,21,.92);
  backdrop-filter: blur(12px);
}
.primary-nav a {
  padding: .7rem 1rem;
  text-decoration: none;
  font: 700 .66rem/1 monospace;
  letter-spacing: .13em;
  border-right: 1px solid rgba(240,206,120,.25);
}
.primary-nav a:last-child { border-right: 0; }
.primary-nav a:hover, .primary-nav a:focus-visible { background: var(--paper); color: var(--ink); }

.left-rail,
.right-rail {
  position: fixed;
  z-index: 70;
  top: 70px;
  bottom: 0;
  width: var(--rail);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 28px 0 20px;
  border-color: var(--line);
  background: rgba(8,8,21,.72);
  backdrop-filter: blur(10px);
}
.left-rail { left: 0; border-right: 1px solid var(--line); }
.right-rail { right: 0; border-left: 1px solid var(--line); }
.rail-code, .control-button {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font: 700 .58rem/1 monospace;
  letter-spacing: .16em;
}
.rail-code { color: var(--paper-soft); }
.meter { width: 8px; height: 110px; border: 1px solid var(--line); padding: 2px; display: flex; align-items: flex-end; }
.meter i { display: block; width: 100%; height: 72%; background: linear-gradient(var(--magenta), var(--cyan)); animation: meter 2.8s ease-in-out infinite alternate; }
.rail-eyes { display: grid; gap: 17px; }
.rail-eyes span { width: 20px; height: 8px; border: 1px solid var(--paper); border-radius: 100% 0 100% 0; transform: rotate(45deg); }
.rail-eyes span::after { content:""; display:block; width:4px; height:4px; margin:1px auto; border-radius:50%; background:var(--magenta); }
.control-button {
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--paper);
  background: transparent;
  text-decoration: none;
  padding: 10px 15px;
  cursor: pointer;
}
.control-button:hover, .control-button:focus-visible { color: var(--cyan); }

main { position: relative; z-index: 3; }
.section-shell {
  width: var(--page);
  margin-inline: auto;
  position: relative;
  border-left: 1px solid rgba(240,206,120,.22);
  border-right: 1px solid rgba(240,206,120,.22);
}

.hero {
  min-height: 100svh;
  padding: 160px clamp(28px, 5vw, 78px) 80px;
  display: grid;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 66% 54%, rgba(216,47,167,.16), transparent 24%),
    radial-gradient(circle at 68% 52%, rgba(43,187,233,.16), transparent 40%);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 110px 5% 55px;
  border: 1px solid rgba(240,206,120,.35);
  border-radius: 50%;
  transform: rotate(-11deg);
}
.hero::after {
  content: "";
  position: absolute;
  width: 70%;
  height: 78%;
  right: -18%;
  top: 12%;
  border: 2px solid var(--paper);
  border-left-color: transparent;
  border-radius: 50%;
  transform: rotate(18deg);
  box-shadow: inset 0 0 60px rgba(216,47,167,.05);
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  align-items: center;
  gap: clamp(30px, 5vw, 70px);
  position: relative;
  z-index: 5;
}
.eyebrow {
  margin: 0 0 1.1rem;
  color: var(--cyan);
  font: 700 .68rem/1.3 monospace;
  letter-spacing: .18em;
}
.hero h1 { margin: 0; text-transform: uppercase; }
.hero-kicker {
  display: block;
  font-size: clamp(1rem, 2vw, 1.6rem);
  letter-spacing: .3em;
  color: var(--paper-soft);
}
.hero-word {
  position: relative;
  display: inline-block;
  font-size: clamp(4.5rem, 12vw, 10.5rem);
  line-height: .8;
  letter-spacing: -.07em;
  color: transparent;
  -webkit-text-stroke: 2px var(--paper);
  filter: drop-shadow(8px 8px 0 rgba(216,47,167,.22));
}
.hero-word::before,
.hero-word::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-word::before { color: transparent; -webkit-text-stroke: 1px var(--cyan); transform: translate(6px, -5px); opacity: .52; }
.hero-word::after { color: transparent; -webkit-text-stroke: 1px var(--magenta); transform: translate(-5px, 4px); opacity: .48; }
.hero-deck { max-width: 650px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: clamp(.9rem, 1.6vw, 1.05rem); line-height: 1.7; color: var(--white); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--paper);
  padding: .9rem 1.2rem;
  text-decoration: none;
  font: 800 .74rem/1 monospace;
  letter-spacing: .14em;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover, .button:focus-visible { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--magenta); }
.button-primary { background: var(--paper); color: var(--ink); }
.button-ghost { background: rgba(8,8,21,.4); }

.hero-core { position: relative; width: min(38vw, 440px); aspect-ratio: 1; justify-self: center; }
.core-disc {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 8px solid var(--paper);
  position: relative;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, rgba(8,8,21,.98) 0 24%, transparent 25%),
    conic-gradient(from 40deg, transparent 0 10%, rgba(216,47,167,.5) 11% 14%, transparent 15% 46%, rgba(43,187,233,.45) 47% 50%, transparent 51% 100%),
    radial-gradient(circle, rgba(109,66,255,.38), rgba(8,8,21,.96) 62%);
  box-shadow: 0 0 0 2px rgba(240,206,120,.25), 0 0 46px rgba(216,47,167,.28);
  animation: coreFloat 5s ease-in-out infinite;
}
.core-disc::before,
.core-disc::after { content:""; position:absolute; border-radius:50%; border:1px dashed rgba(240,206,120,.65); }
.core-disc::before { inset: -26px; animation: spin 22s linear infinite; }
.core-disc::after { inset: 35px; border-color: rgba(43,187,233,.48); animation: spinReverse 12s linear infinite; }
.core-eye { width: 56%; height: 34%; position: relative; display:grid; place-items:center; }
.lid { position:absolute; inset:auto 0; height:50%; border:3px solid var(--paper); }
.lid-top { top:0; border-bottom:0; border-radius: 100% 100% 0 0; }
.lid-bottom { bottom:0; border-top:0; border-radius:0 0 100% 100%; }
.iris { width:30%; aspect-ratio:1; border-radius:50%; border:3px solid var(--paper); background: radial-gradient(circle, var(--magenta) 0 18%, var(--ink) 20% 48%, var(--cyan) 50% 56%, transparent 58%); box-shadow:0 0 22px var(--magenta); animation: eyeLook 6s ease-in-out infinite; }
.core-label { position:absolute; font:700 .62rem/1 monospace; letter-spacing:.2em; }
.label-a { top:12%; left:18%; transform:rotate(-35deg); }
.label-b { bottom:12%; left:18%; transform:rotate(35deg); }
.label-c { right:7%; top:48%; transform:rotate(90deg); color:var(--cyan); }
.core-caption { position:absolute; right:-10%; bottom:5%; background:var(--magenta); color:var(--ink); padding:.45rem .65rem; font:900 .62rem/1 monospace; letter-spacing:.13em; transform:rotate(-5deg); }

.hero-orbit { position:absolute; border:1px solid rgba(240,206,120,.55); border-radius:50%; pointer-events:none; }
.orbit-a { width:50%; height:20%; left:-7%; top:27%; transform:rotate(8deg); }
.orbit-b { width:72%; height:34%; right:-19%; bottom:12%; transform:rotate(-12deg); border-style:dashed; }
.orbit-c { width:22%; aspect-ratio:1; right:5%; top:20%; border-color:rgba(43,187,233,.5); animation:spin 20s linear infinite; }
.comet { position:absolute; width:190px; height:4px; background:linear-gradient(90deg, transparent, var(--magenta), var(--paper)); box-shadow:0 0 20px var(--magenta); transform-origin:right center; }
.comet::after { content:""; position:absolute; right:-4px; top:-4px; width:12px; height:12px; border-radius:50%; background:var(--paper); box-shadow:0 0 18px var(--paper); }
.comet-one { left:8%; top:18%; transform:rotate(8deg); animation:comet 7s ease-in-out infinite; }
.comet-two { right:4%; bottom:25%; transform:rotate(-24deg) scale(.7); animation:comet 9s 1.4s ease-in-out infinite reverse; }
.hero-marquee { position:absolute; z-index:8; bottom:0; left:0; right:0; overflow:hidden; border-top:1px solid var(--line); background:rgba(8,8,21,.84); }
.marquee-track { width:max-content; display:flex; gap:1.4rem; padding:.8rem 0; animation:marquee 30s linear infinite; font:800 .68rem/1 monospace; letter-spacing:.15em; }
.marquee-track b { color:var(--magenta); }

.signal-map, .reports, .flyer-wall, .listen, .submit-zone, .about { padding: clamp(70px, 10vw, 120px) clamp(28px, 5vw, 78px); border-bottom:1px solid var(--line); }
.section-heading { position:relative; z-index:2; margin-bottom:3rem; }
.section-heading h2, .submit-copy h2, .about h2 { margin:0; font-size:clamp(2.2rem, 6vw, 5.4rem); line-height:.92; letter-spacing:-.045em; }
.section-heading > p:last-child { max-width:620px; color:var(--white); font-family:ui-monospace, monospace; line-height:1.6; }
.inline-heading { display:flex; justify-content:space-between; gap:2rem; align-items:end; }
.text-link { font:700 .7rem/1 monospace; letter-spacing:.15em; }

.signal-map::before { content:""; position:absolute; inset:10% 4%; background-image:radial-gradient(circle, rgba(240,206,120,.45) 1px, transparent 1px); background-size:18px 18px; mask-image:linear-gradient(to bottom, transparent, black 20%, black 80%, transparent); opacity:.2; }
.signal-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; gap:1rem; }
.signal-card { min-height:280px; position:relative; padding:2rem; border:1px solid var(--line); background:linear-gradient(145deg, rgba(17,16,39,.95), rgba(8,8,21,.8)); overflow:hidden; }
.signal-card::after { content:""; position:absolute; width:180px; height:180px; border:1px solid rgba(43,187,233,.25); border-radius:50%; right:-60px; bottom:-80px; }
.signal-card:hover { box-shadow: inset 0 0 0 1px var(--paper), var(--glow); }
.card-wide { grid-row:span 2; min-height:576px; display:flex; flex-direction:column; justify-content:flex-end; background:radial-gradient(circle at 65% 28%, rgba(216,47,167,.24), transparent 28%), linear-gradient(145deg, rgba(17,16,39,.98), rgba(8,8,21,.84)); }
.card-wide::before { content:""; position:absolute; width:340px; height:340px; border:22px solid var(--paper); border-left-color:transparent; border-bottom-color:var(--magenta); border-radius:50%; top:-90px; right:-60px; transform:rotate(24deg); opacity:.84; }
.card-index { position:absolute; top:1.2rem; right:1.3rem; font:700 .68rem/1 monospace; color:var(--cyan); }
.signal-card h3 { margin:0 0 1rem; font-size:clamp(1.6rem, 3.2vw, 3.4rem); line-height:.95; }
.signal-card p { max-width:620px; font-family:ui-monospace, monospace; color:var(--white); line-height:1.6; }
.signal-card a { margin-top:1rem; font:700 .68rem/1 monospace; letter-spacing:.12em; }
.signal-line { width:100%; height:8px; border:1px solid var(--line); padding:2px; margin-top:1.3rem; }
.signal-line i { display:block; width:var(--fill); height:100%; background:linear-gradient(90deg,var(--magenta),var(--cyan),var(--paper)); }

.report-grid { display:grid; grid-template-columns:1.4fr .8fr .8fr; gap:1rem; }
.report-card { border:1px solid var(--line); min-width:0; background:rgba(8,8,21,.72); transition:transform .2s ease, box-shadow .2s ease; }
.report-card:hover { transform:translateY(-6px); box-shadow:var(--glow); }
.report-art { aspect-ratio:1.2; border-bottom:1px solid var(--line); position:relative; overflow:hidden; display:grid; place-items:center; background-color:var(--ink-2); }
.feature-report .report-art { aspect-ratio:1.55; }
.report-copy { padding:1.4rem; }
.meta { display:flex; justify-content:space-between; gap:1rem; color:var(--cyan); font:700 .6rem/1 monospace; letter-spacing:.12em; }
.report-copy h3 { font-size:clamp(1.2rem, 2.4vw, 2.1rem); line-height:1.05; margin:1rem 0; }
.report-copy p { font-family:ui-monospace, monospace; color:var(--white); line-height:1.55; }
.report-copy a { font:700 .66rem/1 monospace; letter-spacing:.12em; }
.art-orbit { background:radial-gradient(circle at 50% 48%, rgba(216,47,167,.48), transparent 17%), radial-gradient(circle at 50% 50%, rgba(43,187,233,.18), transparent 48%), var(--ink-2); }
.art-orbit::before { content:""; width:64%; aspect-ratio:1; border:12px solid var(--paper); border-right-color:transparent; border-radius:50%; transform:rotate(-35deg); }
.mini-orbit { position:absolute; border:1px solid var(--paper); border-radius:50%; }
.mini-orbit.one { width:76%; height:30%; transform:rotate(18deg); }
.mini-orbit.two { width:55%; height:22%; transform:rotate(-28deg); border-style:dashed; }
.mini-star { position:absolute; width:14px; height:14px; border-radius:50%; background:var(--paper); box-shadow:0 0 20px var(--magenta); top:24%; left:28%; }
.art-orbit strong { position:absolute; font-size:clamp(2rem,5vw,5rem); line-height:.75; color:transparent; -webkit-text-stroke:1px var(--paper); }
.art-eye { background:repeating-linear-gradient(0deg, transparent 0 10px, rgba(240,206,120,.04) 11px 12px), var(--ink-2); }
.graphic-eye { width:70%; height:36%; border:5px solid var(--paper); border-radius:100% 0 100% 0; transform:rotate(45deg); display:grid; place-items:center; box-shadow:0 0 25px rgba(216,47,167,.25); }
.graphic-eye i { width:36%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,var(--paper) 0 12%,var(--magenta) 14% 35%,var(--ink) 37% 55%,var(--cyan) 57% 62%,transparent 64%); }
.report-art small { position:absolute; bottom:1rem; left:1rem; font:700 .55rem/1 monospace; letter-spacing:.15em; color:var(--cyan); }
.waveform { width:85%; height:45%; background:repeating-linear-gradient(90deg,var(--paper) 0 3px,transparent 3px 8px); mask-image:linear-gradient(to bottom,transparent 0,black 45%,transparent 100%); clip-path:polygon(0 48%,5% 25%,10% 66%,15% 40%,20% 10%,25% 80%,30% 35%,35% 62%,40% 24%,45% 76%,50% 48%,55% 12%,60% 68%,65% 30%,70% 78%,75% 42%,80% 20%,85% 64%,90% 34%,95% 58%,100% 45%,100% 55%,0 55%); filter:drop-shadow(0 0 12px var(--magenta)); }

.flyer-wall { overflow:hidden; }
.wall-note { font:700 .65rem/1 monospace; color:var(--cyan); }
.flyer-scroller { display:flex; gap:1.2rem; overflow-x:auto; padding:20px 8vw 50px 15px; margin-inline:calc(clamp(28px,5vw,78px) * -1); scrollbar-color:var(--paper) var(--ink-2); cursor:grab; }
.flyer-scroller:active { cursor:grabbing; }
.flyer { position:relative; flex:0 0 min(320px,78vw); aspect-ratio:.72; padding:2.2rem 1.5rem 1.4rem; border:1px solid rgba(8,8,21,.8); color:var(--ink); box-shadow:10px 10px 0 rgba(216,47,167,.25); transform:rotate(var(--tilt)); overflow:hidden; }
.flyer::before { content:""; position:absolute; inset:0; background:url("assets/grain.png"); opacity:.35; mix-blend-mode:multiply; pointer-events:none; }
.flyer p, .flyer h3, .flyer small { position:relative; z-index:2; }
.flyer p { font:900 .62rem/1 monospace; letter-spacing:.18em; }
.flyer h3 { margin:.7rem 0; font-size:clamp(3rem,7vw,5.4rem); line-height:.75; letter-spacing:-.08em; }
.flyer small { position:absolute; bottom:1.2rem; left:1.5rem; right:1.5rem; font:900 .6rem/1.4 monospace; }
.flyer-a { --tilt:-2deg; background:var(--paper); }
.flyer-b { --tilt:2deg; background:var(--cyan); }
.flyer-c { --tilt:-1deg; background:var(--magenta); }
.flyer-d { --tilt:2.5deg; background:var(--paper-soft); }
.tape { position:absolute; z-index:3; width:90px; height:25px; top:-8px; left:50%; transform:translateX(-50%) rotate(var(--tape)); background:rgba(229,208,136,.78); border:1px solid rgba(8,8,21,.2); }
.tape-a { --tape:-3deg; }.tape-b { --tape:5deg; }.tape-c { --tape:-6deg; }.tape-d { --tape:2deg; }
.flyer-eye { width:70%; height:27%; margin:3rem auto; border:7px solid var(--ink); border-radius:100% 0 100% 0; transform:rotate(45deg); display:grid; place-items:center; }
.flyer-eye i { width:30%; aspect-ratio:1; border-radius:50%; background:var(--ink); }
.flyer-bars { height:38%; margin-top:3rem; background:repeating-linear-gradient(90deg,var(--ink) 0 8px,transparent 8px 15px); clip-path:polygon(0 50%,8% 18%,14% 79%,20% 24%,27% 68%,34% 10%,40% 84%,47% 33%,54% 72%,60% 18%,68% 66%,75% 29%,82% 83%,90% 13%,100% 50%,100% 60%,0 60%); }
.flyer-orb { width:75%; aspect-ratio:1; margin:1.6rem auto; border:18px solid var(--ink); border-right-color:transparent; border-radius:50%; transform:rotate(-20deg); position:relative; }
.flyer-orb::after { content:""; position:absolute; inset:27%; border-radius:50%; background:var(--ink); }
.flyer-crosshair { width:70%; aspect-ratio:1; margin:2rem auto; border:2px solid var(--ink); border-radius:50%; position:relative; }
.flyer-crosshair::before,.flyer-crosshair::after { content:""; position:absolute; background:var(--ink); left:50%; top:50%; transform:translate(-50%,-50%); }
.flyer-crosshair::before { width:120%; height:2px; }.flyer-crosshair::after { width:2px; height:120%; }

.listen-console { border:1px solid var(--line); background:radial-gradient(circle at 26% 50%,rgba(216,47,167,.17),transparent 24%),rgba(8,8,21,.7); }
.console-top { display:flex; align-items:center; justify-content:space-between; padding:1.5rem; border-bottom:1px solid var(--line); }
.console-top h2 { margin:0; font-size:clamp(2rem,5vw,4.6rem); }
.console-status { font:700 .62rem/1 monospace; letter-spacing:.14em; }
.console-status span { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 12px var(--cyan); }
.player-grid { display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:2rem; padding:clamp(2rem,5vw,5rem); }
.disc { width:min(330px,70vw); aspect-ratio:1; justify-self:center; position:relative; border-radius:50%; border:2px solid var(--paper); background:radial-gradient(circle at center,var(--ink) 0 9%,var(--paper) 10% 12%,var(--ink) 13% 28%,var(--magenta) 29% 30%,var(--ink-2) 31% 58%,var(--cyan) 59% 60%,var(--ink) 61%); box-shadow:0 0 40px rgba(216,47,167,.3); color:var(--paper); cursor:pointer; }
.disc.playing { animation:spin 5.5s linear infinite; }
.disc-ring { position:absolute; border:1px dashed rgba(240,206,120,.55); border-radius:50%; }
.ring-1 { inset:8%; }.ring-2 { inset:21%; }
.disc-label { position:absolute; inset:38%; display:grid; place-items:center; border-radius:50%; color:var(--ink); background:var(--paper); font-weight:900; font-size:1.7rem; line-height:.7; transform:rotate(-8deg); }
.disc-label small { font-size:.45rem; letter-spacing:.15em; }
.now-label { color:var(--cyan); font:700 .65rem/1 monospace; letter-spacing:.15em; }
.player-copy h3 { font-size:clamp(2.2rem,5vw,4.8rem); line-height:.9; margin:.7rem 0 1rem; }
.player-copy > p:not(.now-label) { font-family:ui-monospace,monospace; line-height:1.6; color:var(--white); max-width:650px; }
.transport { display:grid; grid-template-columns:50px 1fr auto; align-items:center; gap:1rem; margin-top:2rem; }
.transport button { width:50px; height:50px; border:1px solid var(--paper); background:var(--paper); color:var(--ink); cursor:pointer; }
.timeline { height:8px; border:1px solid var(--line); padding:2px; }
.timeline i { display:block; height:100%; width:0%; background:linear-gradient(90deg,var(--magenta),var(--cyan),var(--paper)); }
#timecode { font:700 .62rem/1 monospace; white-space:nowrap; }
.eq { height:70px; display:flex; align-items:center; gap:6px; margin-top:1.6rem; }
.eq i { flex:1; max-width:14px; min-width:4px; height:20%; background:var(--paper); transform-origin:bottom; }
.playing + .player-copy .eq i, .eq.active i { animation:eq 850ms ease-in-out infinite alternate; animation-delay:calc(var(--i, 0) * -80ms); }
.eq i:nth-child(2){--i:1}.eq i:nth-child(3){--i:2}.eq i:nth-child(4){--i:3}.eq i:nth-child(5){--i:4}.eq i:nth-child(6){--i:5}.eq i:nth-child(7){--i:6}.eq i:nth-child(8){--i:7}.eq i:nth-child(9){--i:8}.eq i:nth-child(10){--i:9}

.submit-zone { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,7rem); overflow:hidden; background:radial-gradient(circle at 10% 70%,rgba(109,66,255,.24),transparent 30%); }
.submit-copy { position:relative; z-index:2; }
.submit-copy p:last-child { font-family:ui-monospace,monospace; color:var(--white); line-height:1.65; max-width:600px; }
.submit-orbit { position:absolute; width:460px; height:160px; border:2px solid var(--paper); border-radius:50%; left:-120px; bottom:40px; transform:rotate(-12deg); opacity:.38; }
.signal-form { display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-self:start; position:relative; z-index:2; }
.signal-form label { display:grid; gap:.5rem; }
.signal-form label span { font:700 .62rem/1 monospace; letter-spacing:.13em; color:var(--cyan); }
.signal-form input,.signal-form textarea { width:100%; border:1px solid var(--line); border-radius:0; padding:1rem; color:var(--paper); background:rgba(8,8,21,.78); outline:none; }
.signal-form input:focus,.signal-form textarea:focus { border-color:var(--paper); box-shadow:0 0 0 2px rgba(216,47,167,.25); }
.full-field { grid-column:1 / -1; }
.signal-form .button { width:100%; }
.form-message { min-height:1rem; margin:0; font:700 .65rem/1.3 monospace; color:var(--cyan); }

.about { display:grid; grid-template-columns:.35fr 1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:start; }
.about-mark { font-size:clamp(6rem,12vw,12rem); line-height:.55; letter-spacing:-.12em; color:transparent; -webkit-text-stroke:2px var(--paper); opacity:.75; }
.about > p { font-family:ui-monospace,monospace; color:var(--white); line-height:1.7; }
.about-links { grid-column:2 / -1; display:flex; flex-wrap:wrap; gap:1rem 2rem; border-top:1px solid var(--line); padding-top:1.3rem; }
.about-links a { font:700 .7rem/1 monospace; letter-spacing:.15em; }

.site-footer { position:relative; z-index:4; width:var(--page); margin:auto; padding:1.4rem clamp(28px,5vw,78px) 2rem; display:flex; justify-content:space-between; gap:1rem; font:700 .58rem/1.4 monospace; letter-spacing:.12em; border-left:1px solid rgba(240,206,120,.22); border-right:1px solid rgba(240,206,120,.22); }

body.low-glow * { text-shadow:none !important; box-shadow:none !important; filter:none !important; }
body.reduce-motion *, body.reduce-motion *::before, body.reduce-motion *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; }

@keyframes pulse { 0%,100%{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1)} }
@keyframes meter { from{height:35%}to{height:90%} }
@keyframes spin { to{transform:rotate(360deg)} }
@keyframes spinReverse { to{transform:rotate(-360deg)} }
@keyframes coreFloat { 0%,100%{transform:translateY(-5px) rotate(-1deg)}50%{transform:translateY(8px) rotate(1deg)} }
@keyframes eyeLook { 0%,20%,100%{transform:translateX(-12%)}45%,65%{transform:translateX(14%)} }
@keyframes comet { 0%,100%{opacity:.2;translate:-20px 4px}50%{opacity:1;translate:30px -8px} }
@keyframes marquee { to{transform:translateX(-50%)} }
@keyframes eq { from{height:18%}to{height:95%} }

@media (max-width: 980px) {
  :root { --page: calc(100vw - 36px); --rail:0px; }
  .left-rail,.right-rail { display:none; }
  .topbar { padding-inline:14px; }
  .status-strip span:not(:last-child), .status-dot { display:none; }
  .menu-toggle { display:grid; }
  .primary-nav { inset:70px 0 auto auto; left:auto; transform:none; width:min(320px,92vw); display:none; flex-direction:column; border:1px solid var(--line); }
  .primary-nav.open { display:flex; }
  .primary-nav a { border-right:0; border-bottom:1px solid rgba(240,206,120,.25); padding:1rem; }
  .hero { padding-top:130px; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-core { width:min(66vw,420px); }
  .report-grid { grid-template-columns:1fr 1fr; }
  .feature-report { grid-column:1 / -1; }
  .submit-zone { grid-template-columns:1fr; }
  .about { grid-template-columns:.35fr 1fr; }
  .about > p { grid-column:2; }
}

@media (max-width: 680px) {
  :root { --page:calc(100vw - 18px); }
  .topbar { height:64px; }
  .brand-copy { display:none; }
  .status-strip { justify-content:end; }
  .hero { min-height:920px; padding:115px 20px 70px; }
  .hero::before { inset:90px -25% 80px; }
  .hero-word { font-size:clamp(4.1rem,22vw,7rem); -webkit-text-stroke-width:1.5px; }
  .hero-kicker { letter-spacing:.18em; }
  .hero-core { width:min(84vw,380px); }
  .core-caption { right:0; }
  .signal-map,.reports,.flyer-wall,.listen,.submit-zone,.about { padding:72px 20px; }
  .signal-grid { grid-template-columns:1fr; }
  .card-wide { grid-row:auto; min-height:430px; }
  .report-grid { grid-template-columns:1fr; }
  .feature-report { grid-column:auto; }
  .inline-heading { display:block; }
  .text-link,.wall-note { display:inline-block; margin-top:1rem; }
  .player-grid { grid-template-columns:1fr; padding:2rem 1rem 2.5rem; }
  .console-top { align-items:flex-start; gap:1rem; }
  .console-status { display:none; }
  .transport { grid-template-columns:48px 1fr; }
  #timecode { grid-column:2; }
  .signal-form { grid-template-columns:1fr; }
  .full-field { grid-column:auto; }
  .about { grid-template-columns:1fr; }
  .about-mark { font-size:7rem; }
  .about > p,.about-links { grid-column:auto; }
  .site-footer { flex-direction:column; padding-inline:20px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; }
}
