:root {
  /* Reference palette: near-black violet, electric indigo and magenta light. */
  --ink: #03000c;
  --ink-soft: #0d0328;
  --bone: #f7f2ff;
  --muted: rgba(222, 211, 245, 0.7);
  --line: rgba(125, 98, 255, 0.22);
  --blue: #6b4cff;
  --blue-hot: #a58bff;
  --orange: #d52af5;
  --acid: #ec6dff;
  --cyan: #6575ff;
  --signal-x: 0;
  --signal-y: 0;
  --signal-scroll: 0;
  --signal-velocity: 0;
  --scene-progress: 0;
  --stage-x: 67vw;
  --stage-y: 43vh;
  --stage-scale: 1;
}

html {
  color-scheme: dark;
  background: #080907;
}

body {
  background: #080907;
}

body::before {
  content: "";
  position: fixed;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0 49.94%, rgba(181, 255, 59, 0.05) 50%, transparent 50.06%),
    linear-gradient(0deg, transparent 0 49.94%, rgba(181, 255, 59, 0.04) 50%, transparent 50.06%),
    #080907;
}

::selection {
  color: #080907;
  background: #b5ff3b;
}

/* Remove every legacy procedural scene. The active visual layer is SVG + CSS only. */
#field-canvas,
#trail-canvas,
.atmosphere,
.reactor,
.singularity-volume,
.singularity-hud {
  display: none !important;
}

.signal-stage {
  position: fixed;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  perspective: 820px;
  perspective-origin: calc(50% + var(--signal-x) * 4%) calc(48% + var(--signal-y) * 3%);
  background:
    radial-gradient(circle at var(--stage-x) var(--stage-y), rgba(181, 255, 59, 0.075), transparent 10% 27%),
    linear-gradient(118deg, transparent 0 72%, rgba(255, 47, 143, 0.025) 72% 72.2%, transparent 72.2%);
  transition: opacity 500ms ease, filter 500ms ease;
}

.signal-stage::before,
.signal-stage::after {
  content: "";
  position: absolute;
  z-index: 6;
  pointer-events: none;
}

.signal-stage::before {
  inset: 0;
  box-shadow: inset 0 0 180px 40px rgba(0, 0, 0, 0.78);
  background: repeating-linear-gradient(0deg, transparent 0 4px, rgba(255, 255, 255, 0.014) 5px);
}

.signal-stage::after {
  top: -10%;
  left: calc(var(--stage-x) - 1px);
  width: 1px;
  height: 120%;
  background: linear-gradient(transparent, rgba(181, 255, 59, 0.7) 38%, #fff 50%, rgba(255, 47, 143, 0.52) 62%, transparent);
  box-shadow: 0 0 18px rgba(181, 255, 59, 0.28);
  opacity: 0.42;
  transform: translateX(calc(var(--signal-x) * 10px));
  transition: left 900ms var(--ease-out);
}

.signal-stage__grid {
  position: absolute;
  top: 46%;
  left: -30%;
  width: 160%;
  height: 92%;
  opacity: 0.24;
  background-image:
    linear-gradient(rgba(181, 255, 59, 0.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(181, 255, 59, 0.16) 1px, transparent 1px);
  background-size: 58px 58px;
  transform-origin: 50% 0;
  transform: rotateX(72deg) translateY(calc(var(--scene-progress) * -140px)) translateZ(-230px) rotateZ(calc(var(--signal-x) * 2.8deg));
  -webkit-mask-image: linear-gradient(to bottom, #000, transparent 74%);
  mask-image: linear-gradient(to bottom, #000, transparent 74%);
  will-change: transform;
}

.signal-stage__scan {
  position: absolute;
  z-index: 5;
  top: -12%;
  left: 0;
  width: 100%;
  height: 20%;
  opacity: 0.42;
  background: linear-gradient(transparent, rgba(181, 255, 59, 0.08), rgba(181, 255, 59, 0.35), transparent);
  mix-blend-mode: screen;
  animation: signal-scan 6s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

@keyframes signal-scan {
  to { transform: translateY(680%); }
}

.signal-portal {
  position: absolute;
  z-index: 1;
  top: var(--stage-y);
  left: var(--stage-x);
  width: clamp(430px, 72vmin, 820px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%) rotateX(calc(66deg + var(--signal-y) * 8deg)) rotateZ(calc(-16deg + var(--signal-x) * 9deg + var(--signal-scroll) * 55deg));
  transform-style: preserve-3d;
  transition: top 1s var(--ease-out), left 1s var(--ease-out), transform 800ms var(--ease-out), opacity 600ms ease;
  will-change: transform;
}

.signal-portal i {
  position: absolute;
  inset: calc(var(--portal) * 4.4%);
  border: 1px solid rgba(181, 255, 59, calc(0.3 - var(--portal) * 0.026));
  box-shadow:
    0 0 calc(8px + var(--portal) * 2px) rgba(181, 255, 59, 0.08),
    inset 0 0 18px rgba(255, 47, 143, 0.025);
  clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
  transform: translateZ(calc(var(--portal) * -74px)) rotateZ(calc(var(--portal) * 3.5deg)) scale(calc(1 - var(--portal) * 0.025));
  animation: portal-breathe calc(5.6s + var(--portal) * 0.35s) ease-in-out infinite;
  animation-delay: calc(var(--portal) * -0.42s);
}

.signal-portal i::before,
.signal-portal i::after {
  content: "";
  position: absolute;
  width: 12%;
  height: 3px;
  background: #f6ffe9;
  box-shadow: 0 0 9px #b5ff3b;
}

.signal-portal i::before { top: -2px; left: 17%; }
.signal-portal i::after { right: 15%; bottom: -2px; background: #ff2f8f; box-shadow: 0 0 9px rgba(255, 47, 143, 0.8); }

@keyframes portal-breathe {
  50% {
    opacity: 0.46;
    transform: translateZ(calc(var(--portal) * -74px - 34px)) rotateZ(calc(var(--portal) * 3.5deg + 2deg)) scale(calc(0.97 - var(--portal) * 0.025));
  }
}

.signal-map {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  opacity: 0.72;
  transform: translate3d(calc(var(--signal-x) * -9px), calc(var(--signal-y) * -7px), 0);
  transition: opacity 600ms ease;
}

.signal-map path {
  fill: none;
  vector-effect: non-scaling-stroke;
}

.signal-map__minor path {
  stroke: rgba(190, 213, 174, 0.12);
  stroke-width: 1;
}

.signal-map__major path {
  stroke: url(#signal-primary);
  stroke-width: 1.6;
  stroke-dasharray: 0.09 0.025;
  stroke-dashoffset: calc(var(--signal-scroll) * -1);
  animation: signal-line 4.8s linear infinite;
}

.signal-map__major path:nth-child(2),
.signal-map__major path:nth-child(4) {
  stroke: url(#signal-hot);
  animation-duration: 6.2s;
  animation-direction: reverse;
}

@keyframes signal-line {
  to { stroke-dashoffset: -1; }
}

.signal-map__nodes circle {
  fill: #080907;
  stroke: #b5ff3b;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 5px rgba(181, 255, 59, 0.78));
  animation: signal-node 2.4s steps(2, end) infinite;
}

.signal-map__nodes circle:nth-child(3n) {
  stroke: #ff2f8f;
  filter: drop-shadow(0 0 5px rgba(255, 47, 143, 0.7));
  animation-delay: -0.9s;
}

@keyframes signal-node {
  50% { fill: #f6ffe9; stroke-width: 3; }
}

.signal-monolith {
  --mono-w: clamp(170px, 18vw, 280px);
  --mono-h: clamp(290px, 46vh, 500px);
  --mono-depth: clamp(76px, 8vw, 116px);
  position: absolute;
  z-index: 4;
  top: var(--stage-y);
  left: var(--stage-x);
  width: var(--mono-w);
  height: var(--mono-h);
  transform: translate(-50%, -50%) translateZ(calc(110px + var(--signal-velocity) * 1.6px)) scale(var(--stage-scale));
  transform-style: preserve-3d;
  transition: top 1s var(--ease-out), left 1s var(--ease-out), transform 1s var(--ease-out), opacity 650ms ease;
  will-change: transform;
}

.signal-monolith__rig {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  transform: rotateX(calc(-13deg + var(--signal-y) * -9deg)) rotateY(calc(-34deg + var(--signal-x) * 18deg + var(--signal-scroll) * 116deg)) rotateZ(calc(var(--signal-velocity) * 0.08deg));
  transition: transform 120ms ease-out;
}

.signal-monolith__face,
.signal-monolith__layer {
  position: absolute;
  border: 1px solid rgba(196, 225, 176, 0.42);
  background: rgba(7, 11, 17, 0.9);
  box-shadow: inset 0 0 40px rgba(181, 255, 59, 0.035);
  backface-visibility: hidden;
}

.signal-monolith__face--front {
  inset: 0;
  display: grid;
  align-content: space-between;
  padding: 15px;
  overflow: hidden;
  transform: translateZ(calc(var(--mono-depth) / 2));
}

.signal-monolith__face--front::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg, transparent 0 25px, rgba(181, 255, 59, 0.09) 26px),
    linear-gradient(112deg, transparent 38%, rgba(181, 255, 59, 0.12) 38.2% 38.7%, transparent 38.9%);
}

.signal-monolith__face--front::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 34%;
  width: 6px;
  background: #ff2f8f;
  box-shadow: 0 0 15px rgba(255, 47, 143, 0.54);
  transform: translateX(calc(var(--scene-progress) * 44px));
}

.signal-monolith__face span,
.signal-monolith__face i {
  position: relative;
  z-index: 1;
  font: 500 7px/1.2 Consolas, monospace;
  font-style: normal;
  letter-spacing: 0.17em;
}

.signal-monolith__face--front b {
  position: relative;
  z-index: 1;
  align-self: center;
  color: transparent;
  font: 700 clamp(48px, 6vw, 94px)/0.78 Impact, sans-serif;
  letter-spacing: -0.04em;
  writing-mode: vertical-rl;
  -webkit-text-stroke: 1px rgba(239, 248, 229, 0.82);
}

.signal-monolith__face--front i {
  color: #b5ff3b;
}

.signal-monolith__face--side {
  top: 0;
  bottom: 0;
  left: 50%;
  display: grid;
  width: var(--mono-depth);
  align-content: space-between;
  padding: 10px;
  background: rgba(12, 17, 25, 0.94);
  transform: translateX(-50%) rotateY(90deg) translateZ(calc(var(--mono-w) / 2));
}

.signal-monolith__face--side-b {
  top: 0;
  bottom: 0;
  left: 50%;
  display: grid;
  width: var(--mono-depth);
  align-content: space-between;
  padding: 10px;
  background:
    repeating-linear-gradient(0deg, transparent 0 31px, rgba(255, 47, 143, 0.11) 32px),
    rgba(8, 12, 18, 0.96);
  transform: translateX(-50%) rotateY(-90deg) translateZ(calc(var(--mono-w) / 2));
}

.signal-monolith__face--side-b b {
  color: #b5ff3b;
  font: 500 8px/1 Consolas, monospace;
  letter-spacing: 0.14em;
  writing-mode: vertical-rl;
}

.signal-monolith__face--side b {
  align-self: end;
  color: #ff2f8f;
  font: 500 9px/1 Consolas, monospace;
  letter-spacing: 0.12em;
  writing-mode: vertical-rl;
}

.signal-monolith__face--top {
  top: 50%;
  left: 0;
  width: 100%;
  height: var(--mono-depth);
  background:
    linear-gradient(90deg, transparent 48%, rgba(181, 255, 59, 0.8) 49% 51%, transparent 52%),
    rgba(10, 15, 22, 0.92);
  transform: translateY(-50%) rotateX(90deg) translateZ(calc(var(--mono-h) / 2));
}

.signal-monolith__face--bottom {
  top: 50%;
  left: 0;
  width: 100%;
  height: var(--mono-depth);
  background:
    linear-gradient(90deg, transparent, rgba(255, 47, 143, 0.72), transparent),
    rgba(8, 11, 16, 0.96);
  transform: translateY(-50%) rotateX(-90deg) translateZ(calc(var(--mono-h) / 2));
}

.signal-monolith__face--back {
  inset: 0;
  display: grid;
  align-content: space-between;
  padding: 14px;
  background:
    repeating-linear-gradient(90deg, transparent 0 22px, rgba(181, 255, 59, 0.07) 23px),
    rgba(6, 9, 14, 0.96);
  transform: rotateY(180deg) translateZ(calc(var(--mono-depth) / 2));
}

.signal-monolith__face--back b {
  color: #ff2f8f;
  font: 500 34px/1 Consolas, monospace;
}

.signal-monolith__core {
  position: absolute;
  z-index: 2;
  top: 8%;
  bottom: 8%;
  left: 50%;
  width: 22%;
  border: 1px solid rgba(255, 255, 255, 0.62);
  background: linear-gradient(180deg, rgba(181, 255, 59, 0.1), rgba(255, 47, 143, 0.14));
  box-shadow: 0 0 30px rgba(181, 255, 59, 0.2), inset 0 0 28px rgba(255, 255, 255, 0.06);
  transform: translateX(-50%) translateZ(0);
  transform-style: preserve-3d;
}

.signal-monolith__core i,
.signal-monolith__core b {
  position: absolute;
  right: 23%;
  left: 23%;
  height: 24%;
  background: #b5ff3b;
  box-shadow: 0 0 16px rgba(181, 255, 59, 0.8);
  animation: core-charge 2.6s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

.signal-monolith__core i { top: 9%; }
.signal-monolith__core b { bottom: 9%; background: #ff2f8f; box-shadow: 0 0 16px rgba(255, 47, 143, 0.72); animation-delay: -1.3s; }

.signal-monolith__core span {
  position: absolute;
  right: -18px;
  bottom: 8px;
  color: rgba(240, 248, 248, 0.5);
  font: 500 6px/1 Consolas, monospace;
  letter-spacing: 0.15em;
  writing-mode: vertical-rl;
}

@keyframes core-charge {
  50% { height: 56%; opacity: 0.38; filter: brightness(1.7); }
}

.signal-monolith__layer {
  inset: -8%;
  background: transparent;
  border-color: rgba(181, 255, 59, 0.23);
  transform: translateZ(var(--layer-z));
  animation: signal-layer 5s ease-in-out infinite;
}

.signal-monolith__layer--a { --layer-z: -72px; }
.signal-monolith__layer--b { --layer-z: -138px; inset: -14%; animation-delay: -1.7s; }
.signal-monolith__layer--c { --layer-z: -216px; inset: -21%; animation-delay: -3.4s; }

@keyframes signal-layer {
  50% { transform: translateZ(calc(var(--layer-z) - 18px)) scale(1.035); opacity: 0.46; }
}

.signal-monolith__shadow {
  position: absolute;
  z-index: -1;
  top: 100%;
  left: 50%;
  width: 240%;
  height: 58%;
  border: 1px solid rgba(181, 255, 59, 0.18);
  background: radial-gradient(ellipse, rgba(181, 255, 59, 0.13), transparent 64%);
  transform: translate(-50%, -12%) rotateX(76deg);
  filter: blur(2px);
}

.signal-slab {
  position: absolute;
  z-index: 3;
  top: var(--stage-y);
  left: var(--stage-x);
  display: grid;
  width: clamp(92px, 10vw, 150px);
  height: clamp(54px, 6vw, 88px);
  grid-template-columns: 1fr auto;
  align-content: space-between;
  padding: 10px;
  border: 1px solid rgba(181, 255, 59, 0.3);
  background: rgba(7, 10, 16, 0.74);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.38), inset 0 0 20px rgba(181, 255, 59, 0.035);
  backdrop-filter: blur(9px);
  transform-style: preserve-3d;
  transform: translate(-50%, -50%) translate3d(var(--slab-x), var(--slab-y), var(--slab-z)) rotateX(var(--slab-rx)) rotateY(var(--slab-ry)) rotateZ(var(--slab-rz));
  transition: top 1s var(--ease-out), left 1s var(--ease-out), transform 900ms var(--ease-out), opacity 500ms ease;
}

.signal-slab::after {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  transform: translateZ(-18px);
}

.signal-slab span,
.signal-slab b {
  font: 500 7px/1 Consolas, monospace;
  letter-spacing: 0.16em;
}

.signal-slab span { color: #b5ff3b; }
.signal-slab b { color: #f4f8f7; font-size: 14px; }
.signal-slab i { grid-column: 1 / -1; width: 70%; height: 2px; background: #ff2f8f; box-shadow: 0 0 8px rgba(255, 47, 143, 0.64); }
.signal-slab--a { --slab-x: -29vw; --slab-y: -27vh; --slab-z: 150px; --slab-rx: 62deg; --slab-ry: -9deg; --slab-rz: 13deg; }
.signal-slab--b { --slab-x: 27vw; --slab-y: -23vh; --slab-z: 70px; --slab-rx: 68deg; --slab-ry: 8deg; --slab-rz: -17deg; }
.signal-slab--c { --slab-x: -26vw; --slab-y: 27vh; --slab-z: 40px; --slab-rx: 71deg; --slab-ry: -7deg; --slab-rz: -9deg; }
.signal-slab--d { --slab-x: 25vw; --slab-y: 28vh; --slab-z: 130px; --slab-rx: 64deg; --slab-ry: 10deg; --slab-rz: 18deg; }

.signal-chip {
  position: absolute;
  z-index: 3;
  display: grid;
  grid-template-columns: 22px auto;
  gap: 3px 8px;
  min-width: 138px;
  padding: 9px 11px;
  border-top: 1px solid rgba(181, 255, 59, 0.5);
  border-right: 1px solid rgba(181, 255, 59, 0.14);
  background: rgba(6, 7, 11, 0.68);
  backdrop-filter: blur(8px);
  font-family: Consolas, monospace;
  transition: top 900ms var(--ease-out), left 900ms var(--ease-out), opacity 500ms ease, transform 700ms var(--ease-out);
}

.signal-chip span {
  grid-row: 1 / span 2;
  color: #ff2f8f;
  font-size: 13px;
}

.signal-chip b,
.signal-chip i {
  font-size: 7px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.14em;
}

.signal-chip b { color: rgba(243, 249, 236, 0.8); }
.signal-chip i { color: #b5ff3b; }
.signal-chip--a { top: 21%; left: 7%; }
.signal-chip--b { top: 48%; left: 11%; }
.signal-chip--c { top: 75%; left: 7%; }

.signal-output {
  position: absolute;
  z-index: 3;
  top: var(--stage-y);
  right: 3vw;
  left: calc(var(--stage-x) + clamp(90px, 9vw, 150px));
  display: flex;
  align-items: center;
  gap: 11px;
  transition: top 900ms var(--ease-out), left 900ms var(--ease-out), opacity 500ms ease;
}

.signal-output i {
  flex: 1;
  height: 1px;
  overflow: hidden;
  background: linear-gradient(90deg, #ff2f8f, rgba(181, 255, 59, 0.66), transparent);
}

.signal-output i::after {
  content: "";
  display: block;
  width: 18%;
  height: 3px;
  margin-top: -1px;
  background: #fff;
  box-shadow: 0 0 8px #b5ff3b;
  animation: signal-packet 2.1s linear infinite;
}

@keyframes signal-packet {
  from { transform: translateX(-120%); }
  to { transform: translateX(660%); }
}

.signal-output span {
  color: rgba(224, 239, 213, 0.44);
  font: 500 7px/1 Consolas, monospace;
  letter-spacing: 0.15em;
  white-space: nowrap;
}

.signal-hud {
  position: fixed;
  z-index: 8;
  right: 26px;
  bottom: 24px;
  left: 26px;
  display: grid;
  grid-template-columns: auto minmax(100px, 1fr) auto;
  gap: 18px;
  align-items: end;
  pointer-events: none;
  font-family: Consolas, monospace;
}

.signal-hud__chapter,
.signal-hud__mode {
  display: grid;
  gap: 3px;
}

.signal-hud__chapter span { color: #ff2f8f; font-size: 10px; }
.signal-hud__chapter b,
.signal-hud__mode span,
.signal-hud__mode b,
.signal-hud__mode em {
  color: rgba(226, 238, 216, 0.4);
  font-size: 7px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.14em;
}

.signal-hud__mode { grid-template-columns: repeat(3, auto); gap: 12px; }
.signal-hud__mode b { color: rgba(245, 250, 238, 0.8); }
.signal-hud__mode em { color: #b5ff3b; }

.signal-hud__progress {
  height: 1px;
  margin-bottom: 3px;
  overflow: hidden;
  background: rgba(214, 233, 202, 0.11);
}

.signal-hud__progress i {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #ff2f8f, #b5ff3b 70%, #fff);
  transform: scaleX(var(--signal-scroll));
  transform-origin: left;
}

/* Scene choreography keeps one persistent technical object but changes its role. */
body[data-scene="1"] { --stage-x: 22vw; --stage-y: 50vh; --stage-scale: 0.78; }
body[data-scene="2"] { --stage-x: 50vw; --stage-y: 56vh; --stage-scale: 1.28; }
body[data-scene="3"] { --stage-x: 25vw; --stage-y: 51vh; --stage-scale: 0.9; }
body[data-scene="4"] { --stage-x: 76vw; --stage-y: 48vh; --stage-scale: 0.84; }
body[data-scene="5"] { --stage-x: 82vw; --stage-y: 42vh; --stage-scale: 0.84; }
body[data-scene="6"] { --stage-x: 74vw; --stage-y: 52vh; --stage-scale: 1.08; }
body[data-scene="7"] { --stage-x: 50vw; --stage-y: 45vh; --stage-scale: 0.96; }

body:not([data-scene="0"]):not([data-scene="2"]) .signal-chip { opacity: 0.16; }
body[data-scene="2"] .signal-chip { transform: translateX(10vw); }
body[data-scene="3"] .signal-output,
body[data-scene="4"] .signal-output,
body[data-scene="5"] .signal-output { opacity: 0.2; }
body[data-scene="7"] .signal-map { opacity: 0.28; }

body[data-scene="1"] .signal-portal { transform: translate(-50%, -50%) rotateX(74deg) rotateZ(-34deg) scale(0.82); opacity: 0.46; }
body[data-scene="2"] .signal-portal { transform: translate(-50%, -50%) rotateX(58deg) rotateZ(calc(var(--signal-scroll) * 90deg)) scale(1.2); }
body[data-scene="3"] .signal-portal { transform: translate(-50%, -50%) rotateX(78deg) rotateZ(18deg) scale(0.9); }
body[data-scene="4"] .signal-portal { transform: translate(-50%, -50%) rotateX(64deg) rotateZ(-42deg) scale(0.92); opacity: 0.58; }
body[data-scene="5"] .signal-portal { transform: translate(-50%, -50%) rotateX(62deg) rotateZ(-24deg) scale(0.9); opacity: 0.5; }
body[data-scene="6"] .signal-portal { transform: translate(-50%, -50%) rotateX(71deg) rotateZ(28deg) scale(1.06); }
body[data-scene="7"] .signal-portal { transform: translate(-50%, -50%) rotateX(83deg) rotateZ(45deg) scale(1.3); opacity: 0.34; }

body[data-scene="1"] .signal-slab,
body[data-scene="4"] .signal-slab { opacity: 0.28; }
body[data-scene="2"] .signal-slab { opacity: 0.9; }
body[data-scene="3"] .signal-slab--a { --slab-x: 22vw; --slab-y: -31vh; --slab-z: 190px; }
body[data-scene="3"] .signal-slab--b { --slab-x: 31vw; --slab-y: -10vh; --slab-z: 80px; }
body[data-scene="3"] .signal-slab--c { --slab-x: 24vw; --slab-y: 13vh; --slab-z: 40px; }
body[data-scene="3"] .signal-slab--d { --slab-x: 30vw; --slab-y: 33vh; --slab-z: 150px; }
body[data-scene="7"] .signal-slab { opacity: 0; }

/* Global chrome: rectangular, technical, and intentionally unlike the previous orb language. */
.site-header {
  top: 0;
  right: 0;
  left: 0;
  height: 76px;
  padding: 0 var(--page-x);
  border-bottom: 1px solid rgba(213, 231, 201, 0.14);
  background: rgba(6, 7, 11, 0.68);
  backdrop-filter: blur(18px) saturate(1.1);
}

.site-header::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: var(--page-x);
  width: 18%;
  height: 2px;
  background: #ff2f8f;
  box-shadow: 0 0 12px rgba(255, 47, 143, 0.52);
}

.brand__mark {
  border-radius: 2px;
  transform: rotate(0);
}

.site-nav a::after {
  background: #b5ff3b;
}

.field-switch i {
  border-radius: 1px;
  background: #b5ff3b;
  box-shadow: 0 0 7px rgba(181, 255, 59, 0.8);
}

.cursor__orbit {
  border-radius: 2px;
  transform: translate(-50%, -50%) rotate(45deg);
}

.cursor__core {
  border-radius: 0;
  background: #ff2f8f;
  box-shadow: 0 0 12px rgba(255, 47, 143, 0.78);
}

.field-progress__line i { background: #ff2f8f; transform: scaleY(var(--signal-scroll)); }

main {
  z-index: 4;
}

.scene {
  overflow: clip;
  perspective: 1200px;
  perspective-origin: 50% 38%;
  transform-style: preserve-3d;
}

.hero {
  min-height: max(820px, 118vh);
  padding-top: 76px;
  perspective: 1100px;
  perspective-origin: 50% 42%;
}

.hero::before {
  content: "009";
  top: auto;
  right: -0.03em;
  bottom: 0.02em;
  left: auto;
  width: auto;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  color: transparent;
  font: 800 clamp(260px, 43vw, 690px)/0.74 Impact, sans-serif;
  letter-spacing: -0.08em;
  -webkit-text-stroke: 1px rgba(181, 255, 59, 0.045);
  transform: translateX(calc(var(--signal-x) * -12px));
}

.hero__copy {
  top: 15%;
  width: 62%;
  transform-style: preserve-3d;
  transform: rotateY(calc(var(--signal-x) * 2.8deg)) rotateX(calc(var(--signal-y) * -1.8deg));
}

.hero__title {
  line-height: 0.82;
}

.hero__title-cn {
  font-size: clamp(28px, 4vw, 62px);
  letter-spacing: 0.18em;
}

.hero__title-en {
  font-family: Impact, "Arial Narrow Bold", sans-serif;
}

.hero__title-en--a {
  color: #f4f7f5;
  -webkit-text-stroke: 0;
  text-shadow: 10px 0 0 rgba(181, 255, 59, 0.11), -5px 0 0 rgba(255, 47, 143, 0.1);
  clip-path: polygon(0 0, 100% 0, 100% 32%, 92% 32%, 92% 38%, 100% 38%, 100% 100%, 0 100%, 0 64%, 8% 64%, 8% 58%, 0 58%);
  transform: translate3d(calc(var(--signal-x) * -24px), calc(var(--signal-y) * -8px), 76px);
}

.hero__title-en--b {
  align-self: flex-start;
  margin-top: 0.12em;
  color: transparent;
  font-family: Inter, "PingFang SC", sans-serif;
  font-size: clamp(42px, 6.3vw, 102px);
  font-weight: 300;
  letter-spacing: -0.075em;
  -webkit-text-stroke: 1px rgba(242, 248, 234, 0.72);
  text-shadow: none;
  transform: translate3d(calc(var(--signal-x) * 15px), calc(var(--signal-y) * 7px), 34px);
}

.hero__signal-index {
  position: absolute;
  z-index: 7;
  top: 18%;
  right: var(--page-x);
  display: grid;
  width: min(245px, 20vw);
  gap: 5px;
  padding: 13px 0 0 14px;
  border-top: 1px solid #ff2f8f;
  border-left: 1px solid rgba(181, 255, 59, 0.2);
  font-family: Consolas, monospace;
}

.hero__signal-index > span,
.hero__signal-index b {
  color: rgba(222, 238, 211, 0.46);
  font-size: 7px;
  font-weight: 400;
  letter-spacing: 0.15em;
}

.hero__signal-index strong {
  color: #f4f7ee;
  font: 500 clamp(38px, 4vw, 64px)/0.95 Consolas, monospace;
  letter-spacing: -0.08em;
}

.hero__signal-index div {
  display: flex;
  align-items: center;
  gap: 9px;
}

.hero__signal-index i { width: 26px; height: 2px; background: #b5ff3b; }

.hero__note {
  right: var(--page-x);
  bottom: 17%;
  max-width: 290px;
  padding: 16px 0 0;
  border-top: 1px solid rgba(181, 255, 59, 0.35);
  border-left: 0;
  background: linear-gradient(180deg, rgba(6, 7, 11, 0.72), transparent);
}

.micro-code { color: #b5ff3b; }

.hero__actions { bottom: 12%; }

.orb-button,
.launch-button {
  border-radius: 2px;
  border-color: rgba(181, 255, 59, 0.42);
  background: rgba(7, 10, 15, 0.72);
  box-shadow: 8px 8px 0 rgba(181, 255, 59, 0.07);
}

.orb-button::before { border-radius: 0; background: #b5ff3b; }
.text-button i::after { background: #ff2f8f; }
.hero__stamp { display: none; }

.ticker {
  height: 40px;
  border-color: rgba(181, 255, 59, 0.18);
  border-radius: 0;
  background: #0d100b;
  transform: none;
}

.ticker__track i { color: #ff2f8f; }

.section-index { color: #ff2f8f; }

.section-heading {
  border-top-color: rgba(181, 255, 59, 0.23);
  transform: translateZ(34px);
  transform-style: preserve-3d;
}

.manifesto {
  min-height: 255vh;
  background:
    linear-gradient(90deg, rgba(181, 255, 59, 0.025) 1px, transparent 1px),
    linear-gradient(rgba(181, 255, 59, 0.025) 1px, transparent 1px),
    linear-gradient(to bottom, transparent, rgba(6, 7, 11, 0.86) 12% 88%, transparent);
  background-size: 72px 72px, 72px 72px, auto;
}

.manifesto__list {
  width: min(1180px, 92%);
}

.statement {
  grid-template-columns: 54px 1fr minmax(220px, 0.5fr);
  min-height: 66vh;
  border-bottom-color: rgba(181, 255, 59, 0.17);
  transform-style: preserve-3d;
  transition: transform 900ms var(--ease-out), border-color 600ms ease;
}

.statement.signal-visible {
  transform: translateZ(54px) rotateY(calc(var(--signal-x) * -1.4deg));
}

.statement h2 { transform: translateZ(48px); }
.statement > p { transform: translateZ(18px); }

.statement::before {
  right: auto;
  left: 9%;
  color: transparent;
  -webkit-text-stroke-color: rgba(181, 255, 59, 0.045);
}

.statement::after {
  content: "";
  position: absolute;
  top: 12%;
  right: 0;
  width: 2px;
  height: 28%;
  background: #ff2f8f;
  box-shadow: 0 0 12px rgba(255, 47, 143, 0.5);
  transform: scaleY(0.25);
  transform-origin: top;
  transition: transform 900ms var(--ease-out);
}

.statement.signal-visible::after { transform: scaleY(1); }
.statement__number { color: #b5ff3b; }
.statement h2 em { -webkit-text-stroke-color: rgba(181, 255, 59, 0.72); }

.protocol-terminal {
  border-radius: 0;
  border-color: rgba(181, 255, 59, 0.22);
  background: #0b0e09;
  box-shadow: 16px 16px 0 rgba(181, 255, 59, 0.04);
}

.experiments {
  background: linear-gradient(180deg, transparent, rgba(9, 12, 17, 0.92) 12% 88%, transparent);
}

.specimen-grid {
  gap: 12px;
  perspective: 850px;
  perspective-origin: 50% 38%;
  transform-style: preserve-3d;
  transform: rotateX(calc(var(--signal-y) * -1.5deg)) rotateY(calc(var(--signal-x) * 1.8deg));
}

.specimen-card {
  border-radius: 0;
}

.specimen-card__surface {
  border-color: rgba(181, 255, 59, 0.2);
  border-radius: 0;
  background: #0d100b;
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.42);
  clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 24px 100%, 0 calc(100% - 24px));
  transform: translate3d(0, var(--lift, 0px), 0) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
  transform-style: preserve-3d;
}

.specimen-card:nth-child(2) .specimen-card__surface {
  transform: translate3d(0, calc(46px + var(--lift, 0px)), 38px) rotateX(var(--tilt-x, 0deg)) rotateY(calc(-4deg + var(--tilt-y, 0deg)));
}

.specimen-card:nth-child(3) .specimen-card__surface {
  transform: translate3d(0, calc(92px + var(--lift, 0px)), 76px) rotateX(var(--tilt-x, 0deg)) rotateY(calc(-8deg + var(--tilt-y, 0deg)));
}

.specimen-card:hover .specimen-card__surface {
  border-color: rgba(255, 47, 143, 0.55);
  box-shadow: 0 36px 95px rgba(0, 0, 0, 0.54), 0 0 38px rgba(181, 255, 59, 0.07);
  translate: 0 0 72px;
}

.sample {
  border-radius: 0;
  filter: saturate(0.65) contrast(1.08);
}

.round-arrow { border-radius: 2px; }

.system {
  min-height: 125vh;
  background: linear-gradient(90deg, rgba(255, 47, 143, 0.035), transparent 28%);
}

.system__stage {
  display: block;
  min-height: auto;
  perspective: 900px;
  transform-style: preserve-3d;
}

.orbit-system { display: none; }

.system__steps {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  transform-style: preserve-3d;
  transform: rotateX(calc(var(--signal-y) * -2deg)) rotateY(calc(var(--signal-x) * 2.5deg));
}

.system__steps li {
  display: grid;
  min-height: 190px;
  grid-template-columns: 28px 1fr;
  grid-template-rows: auto 1fr auto;
  gap: 18px 10px;
  padding: 20px;
  border: 1px solid rgba(181, 255, 59, 0.16);
  border-radius: 0;
  background: rgba(9, 12, 17, 0.82);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%);
  transition: transform 500ms var(--ease-out), border-color 500ms, background 500ms;
}

.system__steps li:hover,
.system__steps li.is-active,
.system__steps li:focus-visible {
  padding-left: 20px;
  border-color: rgba(255, 47, 143, 0.62);
  background: rgba(14, 18, 25, 0.94);
  transform: translate3d(0, -10px, 64px) rotateX(-2deg);
}

.system__steps li > i {
  grid-column: 1 / -1;
  align-self: end;
}

.system__steps li > p {
  grid-column: 2;
}

.system__steps em { color: #b5ff3b; }

.capabilities {
  background: linear-gradient(180deg, transparent, rgba(6, 8, 12, 0.9) 16% 84%, transparent);
}

.capabilities__grid,
.team-grid {
  perspective: 950px;
  transform-style: preserve-3d;
}

.terminal-panel,
.support-matrix,
.team-card {
  border-radius: 0;
  border-color: rgba(181, 255, 59, 0.2);
  background: #0b0e09;
  box-shadow: 12px 12px 0 rgba(181, 255, 59, 0.035);
  backdrop-filter: none;
  transform-style: preserve-3d;
  transition: transform 650ms var(--ease-out), border-color 500ms ease, box-shadow 500ms ease;
}

.terminal-panel:hover,
.support-matrix:hover,
.team-card:hover {
  transform: translate3d(0, -8px, 52px) rotateX(-1.5deg);
  border-color: rgba(181, 255, 59, 0.42);
  box-shadow: 18px 22px 0 rgba(181, 255, 59, 0.045), 0 34px 90px rgba(0, 0, 0, 0.48);
}

.terminal-panel__bar,
.support-row--head { background: rgba(181, 255, 59, 0.055); }
.terminal-panel__screen .is-output { color: #b5ff3b; }
.support-row:hover { background: rgba(255, 47, 143, 0.045); }
.support-row em { color: #ff2f8f; }

.control-note {
  border-left-color: #ff2f8f;
}

/* Operations manual: the source README becomes part of the primary reading path. */
.docs {
  min-height: 260vh;
  padding-top: 14vh;
  padding-bottom: 18vh;
  background:
    linear-gradient(90deg, rgba(181, 255, 59, 0.028) 1px, transparent 1px),
    linear-gradient(rgba(181, 255, 59, 0.028) 1px, transparent 1px),
    linear-gradient(180deg, transparent, rgba(7, 10, 15, 0.94) 8% 92%, transparent);
  background-size: 64px 64px, 64px 64px, auto;
}

.docs .section-heading h2 {
  margin: 0;
  color: #f4f7ee;
  font: 700 clamp(52px, 8vw, 126px)/0.8 Impact, sans-serif;
  letter-spacing: -0.045em;
  text-align: right;
}

.docs .section-heading h2 em {
  color: transparent;
  font-style: normal;
  -webkit-text-stroke: 1px rgba(181, 255, 59, 0.72);
}

.docs code,
.docs pre,
.docs header,
.docs__badges,
.docs-runbook summary {
  font-family: Consolas, "SFMono-Regular", monospace;
}

.docs code {
  color: #efffc7;
  font-size: 0.92em;
}

.docs__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 36px;
  align-items: end;
  margin-top: 8vh;
  padding: 28px 0;
  border-top: 1px solid rgba(181, 255, 59, 0.24);
  border-bottom: 1px solid rgba(181, 255, 59, 0.13);
}

.docs__identity {
  max-width: 760px;
}

.docs__identity > span {
  color: #ff2f8f;
  font: 500 8px/1 Consolas, monospace;
  letter-spacing: 0.18em;
}

.docs__identity strong {
  display: block;
  margin-top: 12px;
  font-size: clamp(34px, 4.4vw, 68px);
  font-weight: 300;
  letter-spacing: -0.055em;
}

.docs__identity p {
  max-width: 680px;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.8;
}

.docs__badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(94px, 1fr));
  border-top: 1px solid rgba(181, 255, 59, 0.32);
  border-left: 1px solid rgba(181, 255, 59, 0.16);
}

.docs__badges > span {
  display: grid;
  min-height: 72px;
  gap: 8px;
  align-content: center;
  padding: 12px 16px;
  border-right: 1px solid rgba(181, 255, 59, 0.16);
  border-bottom: 1px solid rgba(181, 255, 59, 0.16);
  background: rgba(8, 11, 16, 0.78);
}

.docs__badges i,
.docs__badges b {
  font-size: 7px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.14em;
}

.docs__badges i { color: rgba(225, 239, 214, 0.4); }
.docs__badges b { color: #b5ff3b; font-size: 10px; }

.docs__quickstart,
.docs__config {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  gap: 12px;
  margin-top: 12vh;
  perspective: 900px;
  transform-style: preserve-3d;
}

.docs-panel,
.docs-config,
.docs-architecture {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(181, 255, 59, 0.2);
  background: rgba(8, 11, 16, 0.91);
  box-shadow: 14px 14px 0 rgba(181, 255, 59, 0.035), 0 28px 85px rgba(0, 0, 0, 0.36);
  clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 24px 100%, 0 calc(100% - 24px));
  transform-style: preserve-3d;
  transition: transform 700ms var(--ease-out), border-color 500ms ease, box-shadow 500ms ease;
}

.docs-panel.signal-visible,
.docs-config.signal-visible,
.docs-architecture.signal-visible {
  transform: translateZ(54px);
}

.docs-panel:hover,
.docs-config:hover,
.docs-architecture:hover {
  transform: translate3d(0, -8px, 82px) rotateX(-1deg);
  border-color: rgba(255, 47, 143, 0.58);
  box-shadow: 20px 24px 0 rgba(181, 255, 59, 0.045), 0 40px 110px rgba(0, 0, 0, 0.48);
}

.docs-panel > header,
.docs-config > header,
.docs-architecture > header {
  display: flex;
  justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(181, 255, 59, 0.15);
  background: rgba(181, 255, 59, 0.045);
  color: rgba(225, 239, 214, 0.5);
  font-size: 7px;
  letter-spacing: 0.15em;
}

.docs-panel > header b,
.docs-config > header b,
.docs-architecture > header b {
  color: #ff2f8f;
  font-weight: 400;
}

.docs-panel--steps ol {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.docs-panel--steps li {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 20px;
  align-items: center;
  min-height: 122px;
  padding: 19px 22px;
  border-bottom: 1px solid rgba(181, 255, 59, 0.12);
}

.docs-panel--steps li > span {
  color: transparent;
  font: 700 42px/1 Impact, sans-serif;
  -webkit-text-stroke: 1px rgba(181, 255, 59, 0.65);
}

.docs-panel--steps strong {
  font-size: 17px;
  font-weight: 400;
}

.docs-panel--steps p,
.docs-panel--source > p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}

.docs-panel__warning {
  margin: 0;
  padding: 15px 22px;
  border-left: 4px solid #ff2f8f;
  background: rgba(255, 47, 143, 0.055);
  color: rgba(244, 234, 230, 0.72);
  font-size: 10px;
  line-height: 1.7;
}

.docs-panel--source {
  align-self: center;
  transform: translateZ(84px) rotateY(-3deg);
}

.docs-panel--source.signal-visible {
  transform: translateZ(104px) rotateY(-3deg);
}

.docs-panel--source > p {
  padding: 20px 22px 0;
}

.docs-panel--source pre,
.docs-config pre {
  margin: 18px;
  overflow: auto;
  border: 1px solid rgba(181, 255, 59, 0.16);
  background: #070806;
  color: rgba(236, 245, 245, 0.8);
  font: 500 11px/1.8 Consolas, monospace;
  tab-size: 2;
}

.docs-panel--source pre { padding: 28px 22px; }
.docs-panel--source pre span { color: #ff2f8f; }

.docs-panel__status {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 20px 20px;
  color: rgba(224, 239, 213, 0.46);
  font: 500 7px/1 Consolas, monospace;
  letter-spacing: 0.13em;
}

.docs-panel__status i {
  width: 7px;
  height: 7px;
  background: #b5ff3b;
  box-shadow: 0 0 9px #b5ff3b;
}

.docs-panel__status b { margin-left: auto; color: #f1f7f6; font-weight: 400; }

.docs__platforms {
  display: grid;
  gap: 8px;
  margin-top: 12vh;
  perspective: 1000px;
}

.docs-runbook {
  border-top: 1px solid rgba(181, 255, 59, 0.22);
  border-bottom: 1px solid rgba(181, 255, 59, 0.1);
  background: rgba(8, 11, 16, 0.82);
  transform-style: preserve-3d;
  transition: transform 650ms var(--ease-out), border-color 500ms ease, background 500ms ease;
}

.docs-runbook.signal-visible:nth-child(2) { transform: translateZ(38px); }
.docs-runbook.signal-visible:nth-child(3) { transform: translateZ(72px); }

.docs-runbook[open] {
  border-top-color: rgba(255, 47, 143, 0.68);
  background: rgba(11, 15, 21, 0.95);
  transform: translateZ(92px);
}

.docs-runbook summary {
  display: grid;
  min-height: 92px;
  grid-template-columns: 64px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 18px 22px;
  cursor: pointer;
  list-style: none;
}

.docs-runbook summary::-webkit-details-marker { display: none; }

.docs-runbook summary > span {
  color: #ff2f8f;
  font-size: 18px;
}

.docs-runbook summary div {
  display: grid;
  gap: 7px;
}

.docs-runbook summary b {
  font-family: Inter, "PingFang SC", sans-serif;
  font-size: 20px;
  font-weight: 400;
}

.docs-runbook summary i,
.docs-runbook summary em {
  color: #b5ff3b;
  font-size: 7px;
  font-style: normal;
  letter-spacing: 0.15em;
}

.docs-runbook summary em { color: rgba(225, 239, 214, 0.4); }
.docs-runbook[open] summary em { color: #ff2f8f; }

.docs-runbook__content {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 36px;
  padding: 6px 22px 28px 102px;
  border-top: 1px solid rgba(181, 255, 59, 0.1);
}

.docs-runbook__content p,
.docs-runbook__content li {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.8;
}

.docs-runbook__content ul { margin: 0; padding-left: 18px; }
.docs-runbook__content li + li { margin-top: 6px; }

.docs-config pre {
  max-height: 540px;
  margin: 0;
  padding: 24px;
  border: 0;
  font-size: 10px;
}

.docs-config pre span { color: #ff2f8f; }

.docs-architecture ul {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.docs-architecture li {
  display: grid;
  grid-template-columns: minmax(110px, 0.7fr) 1.3fr;
  gap: 18px;
  padding: 17px 20px;
  border-bottom: 1px solid rgba(181, 255, 59, 0.1);
}

.docs-architecture li span {
  color: #b5ff3b;
  font: 500 9px/1.5 Consolas, monospace;
}

.docs-architecture li p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
}

.docs__notice {
  display: grid;
  grid-template-columns: 0.6fr 1fr 1.5fr auto;
  gap: 26px;
  align-items: center;
  margin-top: 12vh;
  padding: 24px 0;
  border-top: 2px solid #ff2f8f;
  border-bottom: 1px solid rgba(181, 255, 59, 0.16);
  background: linear-gradient(90deg, rgba(255, 47, 143, 0.055), transparent 68%);
}

.docs__notice > span {
  color: #ff2f8f;
  font: 500 7px/1.5 Consolas, monospace;
  letter-spacing: 0.16em;
}

.docs__notice strong {
  font-size: 20px;
  font-weight: 400;
}

.docs__notice p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.8;
}

.metrics {
  background:
    linear-gradient(90deg, transparent 49.9%, rgba(181, 255, 59, 0.07) 50%, transparent 50.1%),
    transparent;
}

.metrics__halo { display: none; }

.metric {
  border-color: rgba(181, 255, 59, 0.15);
  transform-style: preserve-3d;
  transition: transform 700ms var(--ease-out), border-color 500ms ease;
}

.metric.signal-visible:nth-child(odd) { transform: translateZ(42px) rotateY(1.5deg); }
.metric.signal-visible:nth-child(even) { transform: translateZ(72px) rotateY(-1.5deg); }

.metric strong {
  color: #f4f7f5;
  text-shadow: 7px 0 0 rgba(181, 255, 59, 0.08), -4px 0 0 rgba(255, 47, 143, 0.08);
}

.team-card img {
  border-radius: 0;
  filter: grayscale(1) contrast(1.1);
}

.team-card:hover img { filter: grayscale(0.15) contrast(1.05); }

.contact {
  background:
    linear-gradient(90deg, transparent 0 9%, rgba(181, 255, 59, 0.07) 9% 9.1%, transparent 9.1% 90%, rgba(255, 47, 143, 0.08) 90% 90.1%, transparent 90.1%),
    #080907;
}

.contact__rings { display: none; }

.contact__content::before {
  content: "END / 009";
  display: block;
  color: #ff2f8f;
  font: 500 8px/1 Consolas, monospace;
  letter-spacing: 0.2em;
}

.contact__content h2 {
  text-transform: uppercase;
}

.contact__en {
  color: transparent;
  -webkit-text-stroke-color: rgba(181, 255, 59, 0.62);
}

.contact__footer { border-color: rgba(181, 255, 59, 0.2); }

/* Interaction states */
.reveal:not([data-split]) {
  opacity: 1;
  clip-path: inset(0 0 0 0);
  translate: 0 0;
  transition: opacity 400ms ease, clip-path 1s var(--ease-out);
}

.signal-enhanced .reveal:not([data-split]):not(.is-visible) {
  opacity: 0;
  clip-path: inset(0 100% 0 0);
}

.reveal:not([data-split]).is-visible {
  opacity: 1;
  clip-path: inset(0 0 0 0);
}

.reveal[data-split] .char {
  opacity: 1;
  transform: none;
}

.signal-enhanced .reveal[data-split]:not(.is-visible) .char {
  opacity: 0;
  transform: translateY(0.35em) skewX(-12deg);
}

.reveal[data-split].is-visible .char {
  transition-duration: 780ms, 360ms;
  transition-delay: calc(var(--char-index) * 24ms);
}

body.fx-off .signal-stage {
  opacity: 0.16;
  filter: grayscale(1);
}

body.fx-off .signal-stage *,
body.signal-paused .signal-stage * {
  animation-play-state: paused !important;
}

body.signal-low-power .signal-map__minor,
body.signal-low-power .signal-monolith__layer--c,
body.signal-low-power .signal-portal i:nth-child(n + 6),
body.signal-low-power .signal-slab--b,
body.signal-low-power .signal-slab--c,
body.signal-low-power .signal-stage__scan {
  display: none;
}

body.signal-low-power .signal-stage__grid {
  background-size: 90px 90px;
}

@media (max-width: 1020px) {
  :root { --stage-x: 68vw; --stage-y: 42vh; }
  .signal-chip { transform: scale(0.86); transform-origin: left center; }
  .signal-output span { display: none; }
  .hero__copy { width: 70%; }
  .hero__signal-index { width: 23vw; }
  .system__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .docs__quickstart,
  .docs__config { grid-template-columns: 1fr; }
  .docs-panel--source,
  .docs-panel--source.signal-visible { transform: translateZ(42px); }
  .docs__notice { grid-template-columns: 0.7fr 1fr 1.6fr; }
  .docs__notice .text-button { grid-column: 3; justify-self: end; }
}

@media (max-width: 720px) {
  :root {
    --stage-x: 72vw;
    --stage-y: 40svh;
    --stage-scale: 0.72;
  }

  body { cursor: auto; }
  .cursor { display: none; }

  .signal-stage__grid {
    top: 44%;
    height: 72%;
    background-size: 42px 42px;
  }

  .signal-portal {
    width: min(116vw, 560px);
  }

  .signal-map { width: 155%; transform: translateX(-24%); }
  .signal-monolith {
    --mono-w: 148px;
    --mono-h: 276px;
    --mono-depth: 66px;
    width: var(--mono-w);
    height: var(--mono-h);
  }

  .signal-chip {
    min-width: 112px;
    padding: 7px 8px;
    transform: scale(0.72);
  }

  .signal-chip--a { top: 22%; left: 1%; }
  .signal-chip--b { top: 42%; left: 1%; }
  .signal-chip--c { top: 62%; left: 1%; }
  .signal-output { right: 0; left: calc(var(--stage-x) + 46px); }

  .signal-slab { width: 92px; height: 54px; transform: translate(-50%, -50%) translate3d(var(--slab-x), var(--slab-y), var(--slab-z)) scale(0.68) rotateX(var(--slab-rx)) rotateY(var(--slab-ry)) rotateZ(var(--slab-rz)); }
  .signal-slab--a { --slab-x: -44vw; --slab-y: -24vh; --slab-z: 80px; }
  .signal-slab--b { display: none; }
  .signal-slab--c { --slab-x: -42vw; --slab-y: 24vh; --slab-z: 34px; }
  .signal-slab--d { display: none; }

  body[data-scene="1"] { --stage-x: 76vw; --stage-y: 38svh; --stage-scale: 0.54; }
  body[data-scene="2"] { --stage-x: 50vw; --stage-y: 43svh; --stage-scale: 0.72; }
  body[data-scene="3"] { --stage-x: 78vw; --stage-y: 34svh; --stage-scale: 0.58; }
  body[data-scene="4"] { --stage-x: 76vw; --stage-y: 38svh; --stage-scale: 0.58; }
  body[data-scene="5"] { --stage-x: 80vw; --stage-y: 35svh; --stage-scale: 0.54; }
  body[data-scene="6"] { --stage-x: 74vw; --stage-y: 38svh; --stage-scale: 0.65; }
  body[data-scene="7"] { --stage-x: 50vw; --stage-y: 39svh; --stage-scale: 0.67; }

  .signal-hud {
    right: 15px;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 15px;
    grid-template-columns: auto 1fr;
  }

  .signal-hud__mode { display: none; }
  .site-header { height: 64px; }
  .hero { min-height: max(760px, 112svh); padding-top: 64px; }
  .hero::before { font-size: 70vw; opacity: 0.72; }

  .hero__copy {
    top: max(98px, 12svh);
    width: calc(100% - var(--page-x) * 2);
  }

  .hero__title-cn {
    font-size: clamp(21px, 6vw, 30px);
    letter-spacing: 0.12em;
  }

  .hero__title-en { font-size: clamp(88px, 30vw, 126px); }
  .hero__title-en--b { font-size: clamp(38px, 13vw, 56px); }

  .hero__signal-index {
    top: 51%;
    right: var(--page-x);
    width: 44%;
    padding-top: 8px;
  }

  .hero__signal-index strong { font-size: 34px; }

  .hero__note {
    right: var(--page-x);
    bottom: 17%;
    left: var(--page-x);
    max-width: none;
  }

  .hero__note p:nth-child(n + 2) { display: none; }
  .hero__actions { bottom: 8%; }
  .hero__scroll { display: none; }

  .manifesto { min-height: auto; padding-bottom: 12vh; }
  .manifesto .section-heading { position: relative; top: auto; }
  .manifesto__list { width: 100%; margin-top: 4vh; padding-bottom: 4vh; }
  .statement { grid-template-columns: 36px 1fr; min-height: 62vh; }
  .statement > p { grid-column: 2; }

  .specimen-grid { gap: 10px; }
  .specimen-card:nth-child(2) .specimen-card__surface,
  .specimen-card:nth-child(3) .specimen-card__surface { transform: translate3d(0, 0, 0); }

  .system { min-height: auto; }
  .system__steps { grid-template-columns: 1fr; }
  .system__steps li { min-height: 160px; }

  .terminal-panel,
  .support-matrix,
  .team-card { box-shadow: 7px 7px 0 rgba(181, 255, 59, 0.035); }

  .docs { min-height: auto; padding-top: 11vh; padding-bottom: 13vh; background-size: 42px 42px, 42px 42px, auto; }
  .docs .section-heading { display: block; }
  .docs .section-heading h2 { margin-top: 32px; font-size: clamp(48px, 17vw, 78px); text-align: left; }
  .docs__intro { grid-template-columns: 1fr; margin-top: 5vh; }
  .docs__identity strong { font-size: 36px; }
  .docs__badges { grid-template-columns: 1fr; }
  .docs__badges > span { min-height: 56px; grid-template-columns: 1fr auto; align-items: center; }
  .docs__quickstart,
  .docs__platforms,
  .docs__config,
  .docs__notice { margin-top: 8vh; }
  .docs-panel,
  .docs-config,
  .docs-architecture,
  .docs-panel.signal-visible,
  .docs-config.signal-visible,
  .docs-architecture.signal-visible,
  .docs-panel--source,
  .docs-panel--source.signal-visible { transform: none; }
  .docs-panel--steps li { min-height: 104px; grid-template-columns: 46px 1fr; gap: 12px; padding: 16px; }
  .docs-panel--steps li > span { font-size: 32px; }
  .docs-panel--source pre,
  .docs-config pre { font-size: 9px; }
  .docs-runbook,
  .docs-runbook.signal-visible:nth-child(2),
  .docs-runbook.signal-visible:nth-child(3),
  .docs-runbook[open] { transform: none; }
  .docs-runbook summary { min-height: 76px; grid-template-columns: 38px 1fr auto; padding: 14px; }
  .docs-runbook summary b { font-size: 17px; }
  .docs-runbook__content { grid-template-columns: 1fr; gap: 8px; padding: 16px 16px 22px 52px; }
  .docs-architecture li { grid-template-columns: 1fr; gap: 5px; }
  .docs__notice { grid-template-columns: 1fr; gap: 12px; padding: 20px 0; }
  .docs__notice .text-button { grid-column: auto; justify-self: start; }
}

@media (max-height: 560px) and (orientation: landscape) {
  :root { --stage-x: 72vw; --stage-y: 51vh; --stage-scale: 0.62; }
  .site-header { height: 58px; }
  .hero { min-height: max(540px, 124vh); padding-top: 58px; }
  .hero__copy { top: 18%; width: 58%; }
  .hero__title-cn { font-size: clamp(18px, 3vw, 27px); }
  .hero__title-en { font-size: clamp(72px, 15vw, 132px); }
  .hero__title-en--b { font-size: clamp(30px, 5vw, 50px); }
  .hero__signal-index { top: 20%; right: 3vw; width: 24vw; }
  .hero__note { right: 3vw; bottom: 24%; left: auto; width: 28vw; }
  .hero__actions { bottom: 9%; }
  .signal-chip { display: none; }
  .signal-hud { bottom: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .signal-stage *,
  .ticker__track,
  .text-button i::after {
    animation: none !important;
  }

  .signal-monolith__rig {
    transform: rotateX(-13deg) rotateY(-34deg);
  }

  .signal-stage__grid {
    transform: rotateX(72deg) translateZ(-230px);
  }
}

@media print {
  .signal-stage,
  .signal-hud,
  .cursor,
  .field-progress,
  .telemetry {
    display: none !important;
  }
}

/* Content-first hard override: text never depends on JavaScript or reveal state. */
[hidden] {
  display: none !important;
}

.boot {
  display: none !important;
}

main,
main .scene,
main .section-heading,
main article,
main aside,
main details,
main summary,
main div,
main p,
main li,
main span,
main strong,
main em,
main code,
main pre,
main h1,
main h2,
main h3,
main h4,
main a,
main button {
  visibility: visible !important;
}

body .reveal,
body .reveal:not([data-split]),
body .signal-enhanced .reveal:not([data-split]):not(.is-visible),
body .reveal[data-split],
body .reveal[data-split] .char,
body .signal-enhanced .reveal[data-split]:not(.is-visible) .char {
  opacity: 1 !important;
  clip-path: none !important;
  transform: none !important;
  translate: 0 0 !important;
}

main .hero__title-en--a,
main .hero__title-en--b,
main .statement h2 em,
main .docs .section-heading h2 em,
main .contact__en {
  color: #f4f7ee !important;
  -webkit-text-stroke: 0 !important;
}

main p,
main li {
  color: rgba(231, 237, 223, 0.76);
}

/* Final-scene primary action: impossible to miss, still keyboard and motion safe. */
.contact__actions {
  perspective: 900px;
}

main .launch-button {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 48px;
  width: clamp(230px, 22vw, 310px);
  height: 82px;
  padding: 0 14px 0 24px;
  overflow: visible;
  border: 1px solid #b5ff3b;
  border-radius: 2px;
  color: #080907;
  background:
    linear-gradient(110deg, transparent 0 38%, rgba(255, 255, 255, 0.72) 46%, transparent 54%) -180% 0 / 52% 100% no-repeat,
    #b5ff3b;
  box-shadow:
    0 0 0 1px rgba(181, 255, 59, 0.25),
    11px 11px 0 rgba(255, 47, 143, 0.82),
    0 0 44px rgba(181, 255, 59, 0.22);
  text-decoration: none;
  transform: translateZ(42px) rotateX(-2deg);
  transform-style: preserve-3d;
  animation: download-beacon 2.8s ease-in-out infinite;
  transition: color 260ms ease, background-color 260ms ease, box-shadow 420ms var(--ease-out), transform 420ms var(--ease-out);
}

main .launch-button::before {
  content: "DOWNLOAD / LATEST";
  position: absolute;
  top: 8px;
  left: 24px;
  color: rgba(8, 9, 7, 0.58);
  font: 600 7px/1 Consolas, monospace;
  letter-spacing: 0.16em;
}

main .launch-button::after {
  content: "";
  position: absolute;
  right: 62px;
  bottom: 11px;
  left: 24px;
  height: 2px;
  background: #080907;
  opacity: 0.24;
  transform-origin: left;
  animation: download-progress 2.8s var(--ease-in-out) infinite;
}

main .launch-button__text {
  position: relative;
  z-index: 2;
  align-self: center;
  padding-top: 8px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-align: left;
}

main .launch-button__arrow {
  position: relative;
  z-index: 2;
  top: auto;
  right: auto;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  align-self: center;
  border-left: 1px solid rgba(8, 9, 7, 0.28);
  font-size: 27px;
  line-height: 1;
  transition: transform 420ms var(--ease-out);
}

main .launch-button__ring {
  position: absolute;
  z-index: -1;
  inset: -10px;
  border: 1px solid rgba(181, 255, 59, 0.54);
  border-radius: 0;
  pointer-events: none;
  animation: download-ring 2.8s ease-out infinite;
}

main .launch-button:hover,
main .launch-button:focus-visible {
  color: #f4f7ee;
  background-color: #ff2f8f;
  box-shadow:
    0 0 0 1px rgba(255, 47, 143, 0.44),
    16px 16px 0 #b5ff3b,
    0 0 64px rgba(255, 47, 143, 0.3);
  outline: none;
  transform: translate3d(0, -8px, 72px) rotateX(-5deg) rotateY(2deg);
}

main .launch-button:hover::before,
main .launch-button:focus-visible::before {
  color: rgba(244, 247, 238, 0.68);
}

main .launch-button:hover::after,
main .launch-button:focus-visible::after {
  background: #f4f7ee;
}

main .launch-button:hover .launch-button__arrow,
main .launch-button:focus-visible .launch-button__arrow {
  border-left-color: rgba(244, 247, 238, 0.32);
  transform: translate(5px, -5px);
}

@keyframes download-beacon {
  50% {
    box-shadow:
      0 0 0 1px rgba(181, 255, 59, 0.4),
      14px 14px 0 rgba(255, 47, 143, 0.9),
      0 0 68px rgba(181, 255, 59, 0.32);
    background-position: 280% 0, 0 0;
  }
}

@keyframes download-progress {
  0%, 100% { transform: scaleX(0.12); }
  62% { transform: scaleX(1); }
}

@keyframes download-ring {
  0% { opacity: 0.8; transform: scale(1); }
  76%, 100% { opacity: 0; transform: scale(1.12, 1.28); }
}

@media (max-width: 680px) {
  main .launch-button {
    width: min(82vw, 330px);
    height: 78px;
  }
}

@media (prefers-reduced-motion: reduce) {
  main .launch-button,
  main .launch-button::after,
  main .launch-button__ring {
    animation: none !important;
  }
}

/* Liquid-glass pass: the fixed signal animation remains visible through every scene. */
:root {
  --glass-surface:
    radial-gradient(
      circle at calc(50% + var(--signal-x) * 24%) calc(8% + var(--signal-y) * 12%),
      rgba(244, 247, 238, 0.12),
      transparent 32%
    ),
    linear-gradient(128deg, rgba(181, 255, 59, 0.065), transparent 36%, rgba(255, 47, 143, 0.045) 82%),
    rgba(8, 9, 7, 0.16);
  --glass-surface-strong:
    radial-gradient(
      circle at calc(50% + var(--signal-x) * 20%) calc(5% + var(--signal-y) * 10%),
      rgba(244, 247, 238, 0.14),
      transparent 34%
    ),
    linear-gradient(132deg, rgba(181, 255, 59, 0.075), transparent 38%, rgba(255, 47, 143, 0.055) 86%),
    rgba(8, 9, 7, 0.28);
  --glass-surface-hover:
    radial-gradient(
      circle at calc(50% + var(--signal-x) * 28%) calc(4% + var(--signal-y) * 14%),
      rgba(244, 247, 238, 0.18),
      transparent 34%
    ),
    linear-gradient(128deg, rgba(181, 255, 59, 0.1), transparent 40%, rgba(255, 47, 143, 0.075) 86%),
    rgba(8, 9, 7, 0.22);
  --glass-filter: blur(7px) saturate(1.32) brightness(1.05);
  --glass-filter-strong: blur(13px) saturate(1.42) brightness(1.04);
  --glass-edge: rgba(231, 247, 218, 0.18);
  --glass-shadow:
    inset 0 1px 0 rgba(244, 247, 238, 0.14),
    inset 1px 0 0 rgba(181, 255, 59, 0.055),
    0 24px 72px rgba(0, 0, 0, 0.22);
}

.manifesto,
.experiments,
.system,
.capabilities,
.docs,
.metrics,
.contact {
  background-color: transparent;
}

.manifesto {
  background:
    linear-gradient(90deg, rgba(181, 255, 59, 0.018) 1px, transparent 1px),
    linear-gradient(rgba(181, 255, 59, 0.018) 1px, transparent 1px),
    transparent;
  background-size: 72px 72px, 72px 72px, auto;
}

.experiments,
.system,
.capabilities {
  background: transparent;
}

.docs {
  background:
    linear-gradient(90deg, rgba(181, 255, 59, 0.018) 1px, transparent 1px),
    linear-gradient(rgba(181, 255, 59, 0.018) 1px, transparent 1px),
    transparent;
  background-size: 64px 64px, 64px 64px, auto;
}

.metrics {
  background:
    linear-gradient(90deg, transparent 49.9%, rgba(181, 255, 59, 0.055) 50%, transparent 50.1%),
    transparent;
}

.contact {
  background:
    radial-gradient(circle at 50% 50%, rgba(181, 255, 59, 0.055), transparent 42%),
    linear-gradient(90deg, transparent 0 9%, rgba(181, 255, 59, 0.055) 9% 9.1%, transparent 9.1% 90%, rgba(255, 47, 143, 0.06) 90% 90.1%, transparent 90.1%);
}

.site-header,
.mobile-menu__panel {
  background: var(--glass-surface-strong);
  -webkit-backdrop-filter: var(--glass-filter-strong);
  backdrop-filter: var(--glass-filter-strong);
  box-shadow: inset 0 -1px 0 rgba(244, 247, 238, 0.08), 0 18px 50px rgba(0, 0, 0, 0.14);
}

.hero__note,
.ticker,
.toast,
.protocol-terminal,
.specimen-card__surface,
.system__steps li,
.terminal-panel,
.support-matrix,
.team-card,
.docs__badges > span,
.docs-panel,
.docs-config,
.docs-architecture,
.docs-runbook {
  border-color: var(--glass-edge);
  background: var(--glass-surface);
  -webkit-backdrop-filter: var(--glass-filter);
  backdrop-filter: var(--glass-filter);
  box-shadow: var(--glass-shadow);
}

.protocol-terminal,
.terminal-panel,
.support-matrix,
.team-card,
.docs-panel,
.docs-config,
.docs-architecture {
  position: relative;
}

.specimen-card__surface::before {
  border-color: rgba(244, 247, 238, 0.16);
  box-shadow: inset 0 1px 0 rgba(244, 247, 238, 0.09);
}

.system__steps li:hover,
.system__steps li.is-active,
.system__steps li:focus-visible,
.docs-runbook[open],
.protocol-terminal:hover,
.specimen-card:hover .specimen-card__surface,
.terminal-panel:hover,
.support-matrix:hover,
.team-card:hover,
.docs-panel:hover,
.docs-config:hover,
.docs-architecture:hover {
  background: var(--glass-surface-hover);
  -webkit-backdrop-filter: var(--glass-filter);
  backdrop-filter: var(--glass-filter);
}

.docs-panel > header,
.docs-config > header,
.docs-architecture > header,
.terminal-panel__bar,
.support-row--head {
  background: linear-gradient(90deg, rgba(181, 255, 59, 0.075), rgba(244, 247, 238, 0.025), transparent);
}

.docs-panel--source pre,
.docs-config pre,
.protocol-terminal pre,
.tide-source-about-content pre,
.tide-source-about-table-wrap {
  background:
    linear-gradient(135deg, rgba(181, 255, 59, 0.035), transparent 42%, rgba(255, 47, 143, 0.025)),
    rgba(8, 9, 7, 0.38);
  -webkit-backdrop-filter: blur(4px) saturate(1.2);
  backdrop-filter: blur(4px) saturate(1.2);
  box-shadow: inset 0 1px 0 rgba(244, 247, 238, 0.07);
}

.docs-runbook[open] {
  border-top-color: rgba(255, 47, 143, 0.58);
}

.contact__content h2,
.contact__en {
  text-shadow: 0 2px 24px rgba(8, 9, 7, 0.72), 0 0 54px rgba(8, 9, 7, 0.48);
}

.tide-source-about-backdrop {
  background:
    radial-gradient(circle at 50% 25%, rgba(181, 255, 59, 0.055), transparent 46%),
    rgba(8, 9, 7, 0.24);
  -webkit-backdrop-filter: blur(5px) saturate(1.2);
  backdrop-filter: blur(5px) saturate(1.2);
}

.tide-source-about-dialog,
.tide-source-about-header {
  background: var(--glass-surface-strong);
  -webkit-backdrop-filter: var(--glass-filter-strong);
  backdrop-filter: var(--glass-filter-strong);
}

.tide-source-about-dialog {
  border-color: rgba(231, 247, 218, 0.2);
  box-shadow: inset 0 1px 0 rgba(244, 247, 238, 0.14), 0 40px 120px rgba(0, 0, 0, 0.38);
}

@media (max-width: 680px) {
  :root {
    --glass-filter: blur(5px) saturate(1.24) brightness(1.04);
    --glass-filter-strong: blur(9px) saturate(1.3) brightness(1.03);
  }
}

@media (prefers-reduced-transparency: reduce) {
  :root {
    --glass-surface: rgba(8, 9, 7, 0.84);
    --glass-surface-strong: rgba(8, 9, 7, 0.92);
    --glass-surface-hover: rgba(14, 17, 11, 0.92);
    --glass-filter: none;
    --glass-filter-strong: none;
  }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  :root {
    --glass-surface: rgba(8, 9, 7, 0.72);
    --glass-surface-strong: rgba(8, 9, 7, 0.84);
    --glass-surface-hover: rgba(14, 17, 11, 0.82);
  }
}

/* Platform gallery repair and polish. */
.specimen-grid {
  position: relative;
  z-index: 5;
}

.specimen-card {
  z-index: 1;
  isolation: isolate;
}

.specimen-card:nth-child(1) { z-index: 3; }
.specimen-card:nth-child(2) { z-index: 2; }

.specimen-card__surface {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-color: rgba(231, 247, 218, 0.28);
  background:
    radial-gradient(
      circle at calc(50% + var(--signal-x) * 26%) calc(8% + var(--signal-y) * 14%),
      rgba(244, 247, 238, 0.15),
      transparent 34%
    ),
    linear-gradient(132deg, rgba(181, 255, 59, 0.085), transparent 42%, rgba(255, 47, 143, 0.065) 86%),
    rgba(8, 9, 7, 0.26);
  -webkit-backdrop-filter: blur(6px) saturate(1.38) brightness(1.04);
  backdrop-filter: blur(6px) saturate(1.38) brightness(1.04);
  box-shadow:
    inset 0 1px 0 rgba(244, 247, 238, 0.17),
    inset 1px 0 0 rgba(181, 255, 59, 0.08),
    0 28px 82px rgba(0, 0, 0, 0.28);
}

.specimen-card:hover .specimen-card__surface,
.specimen-card:focus-within .specimen-card__surface {
  border-color: rgba(255, 47, 143, 0.72);
  background:
    radial-gradient(
      circle at calc(50% + var(--signal-x) * 30%) calc(6% + var(--signal-y) * 16%),
      rgba(244, 247, 238, 0.2),
      transparent 36%
    ),
    linear-gradient(132deg, rgba(181, 255, 59, 0.11), transparent 42%, rgba(255, 47, 143, 0.09) 86%),
    rgba(8, 9, 7, 0.3);
  box-shadow:
    inset 0 1px 0 rgba(244, 247, 238, 0.2),
    18px 22px 0 rgba(181, 255, 59, 0.045),
    0 38px 105px rgba(0, 0, 0, 0.36),
    0 0 44px rgba(255, 47, 143, 0.1);
}

.specimen-card .sample {
  opacity: 0.92;
  filter: saturate(0.82) contrast(1.12);
}

.specimen-card__topline {
  color: rgba(244, 247, 238, 0.72);
  text-shadow: 0 2px 12px rgba(8, 9, 7, 0.82);
}

.specimen-card__info {
  border-top-color: rgba(231, 247, 218, 0.24);
  text-shadow: 0 2px 16px rgba(8, 9, 7, 0.86);
}

.specimen-card__info h3 {
  color: #f4f7ee;
  font-weight: 650;
}

.specimen-card__info p {
  color: rgba(231, 237, 223, 0.76);
}

.specimen-card__letter {
  text-shadow: 0 0 20px rgba(255, 47, 143, 0.34);
}

.specimen-card .round-arrow {
  border-color: rgba(181, 255, 59, 0.48);
  background: rgba(8, 9, 7, 0.22);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

/* Fresh tide pass: a cooler, airier palette with restrained warm accents. */
:root {
  --glass-surface:
    radial-gradient(
      circle at calc(50% + var(--signal-x) * 24%) calc(8% + var(--signal-y) * 12%),
      rgba(242, 251, 247, 0.12),
      transparent 32%
    ),
    linear-gradient(128deg, rgba(115, 226, 196, 0.075), transparent 38%, rgba(121, 201, 255, 0.055) 84%),
    rgba(7, 23, 26, 0.18);
  --glass-surface-strong:
    radial-gradient(
      circle at calc(50% + var(--signal-x) * 20%) calc(5% + var(--signal-y) * 10%),
      rgba(242, 251, 247, 0.15),
      transparent 34%
    ),
    linear-gradient(132deg, rgba(115, 226, 196, 0.09), transparent 40%, rgba(121, 201, 255, 0.07) 86%),
    rgba(7, 23, 26, 0.32);
  --glass-surface-hover:
    radial-gradient(
      circle at calc(50% + var(--signal-x) * 28%) calc(4% + var(--signal-y) * 14%),
      rgba(242, 251, 247, 0.2),
      transparent 35%
    ),
    linear-gradient(128deg, rgba(115, 226, 196, 0.13), transparent 42%, rgba(121, 201, 255, 0.1) 88%),
    rgba(8, 31, 34, 0.28);
  --glass-edge: rgba(151, 224, 215, 0.22);
  --glass-shadow:
    inset 0 1px 0 rgba(242, 251, 247, 0.15),
    inset 1px 0 0 rgba(115, 226, 196, 0.07),
    0 24px 72px rgba(1, 12, 15, 0.24);
}

html,
body {
  background: #07171a;
}

body::before {
  background:
    radial-gradient(circle at 12% 18%, rgba(115, 226, 196, 0.075), transparent 26%),
    radial-gradient(circle at 88% 24%, rgba(121, 201, 255, 0.07), transparent 24%),
    linear-gradient(90deg, transparent 0 49.94%, rgba(115, 226, 196, 0.045) 50%, transparent 50.06%),
    linear-gradient(0deg, transparent 0 49.94%, rgba(121, 201, 255, 0.035) 50%, transparent 50.06%),
    #07171a;
}

::selection {
  color: #07171a;
  background: #73e2c4;
}

.signal-stage {
  contain: layout paint style;
  isolation: isolate;
  background:
    radial-gradient(circle at var(--stage-x) var(--stage-y), rgba(115, 226, 196, 0.105), transparent 11% 29%),
    radial-gradient(circle at 84% 20%, rgba(121, 201, 255, 0.055), transparent 25%),
    linear-gradient(118deg, transparent 0 72%, rgba(255, 155, 138, 0.035) 72% 72.2%, transparent 72.2%);
}

.signal-stage::before {
  box-shadow: inset 0 0 180px 38px rgba(1, 12, 15, 0.68);
  background: repeating-linear-gradient(0deg, transparent 0 4px, rgba(220, 250, 244, 0.012) 5px);
}

.signal-stage::after {
  background: linear-gradient(transparent, rgba(115, 226, 196, 0.68) 38%, #effff9 50%, rgba(121, 201, 255, 0.55) 62%, transparent);
  box-shadow: 0 0 18px rgba(115, 226, 196, 0.28);
  animation: fresh-beam 4.8s ease-in-out infinite;
}

.signal-stage__grid {
  background-image:
    linear-gradient(rgba(115, 226, 196, 0.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(121, 201, 255, 0.12) 1px, transparent 1px);
}

.signal-stage__scan {
  background: linear-gradient(transparent, rgba(121, 201, 255, 0.07), rgba(115, 226, 196, 0.28), transparent);
}

.signal-portal::before,
.signal-portal::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  pointer-events: none;
  transform-origin: 0 0;
}

.signal-portal::before {
  background: #73e2c4;
  box-shadow: 0 -31vmin 0 #73e2c4, 0 -31vmin 16px rgba(115, 226, 196, 0.72);
  animation: fresh-orbit 13s linear infinite;
}

.signal-portal::after {
  width: 5px;
  height: 5px;
  background: #ff9b8a;
  box-shadow: 0 -23vmin 0 #79c9ff, 0 -23vmin 14px rgba(121, 201, 255, 0.72);
  animation: fresh-orbit 9s linear infinite reverse;
}

.signal-portal i {
  border-color: rgba(115, 226, 196, calc(0.31 - var(--portal) * 0.026));
  box-shadow:
    0 0 calc(8px + var(--portal) * 2px) rgba(115, 226, 196, 0.085),
    inset 0 0 18px rgba(121, 201, 255, 0.035);
}

.signal-portal i::before {
  background: #effff9;
  box-shadow: 0 0 9px #73e2c4;
}

.signal-portal i::after {
  background: #79c9ff;
  box-shadow: 0 0 9px rgba(121, 201, 255, 0.8);
}

.signal-map__minor path { stroke: rgba(154, 213, 211, 0.14); }
.signal-map__nodes circle { fill: #07171a; stroke: #73e2c4; filter: drop-shadow(0 0 5px rgba(115, 226, 196, 0.74)); }
.signal-map__nodes circle:nth-child(3n) { stroke: #79c9ff; filter: drop-shadow(0 0 5px rgba(121, 201, 255, 0.7)); }

.signal-monolith__face,
.signal-monolith__layer {
  border-color: rgba(151, 224, 215, 0.4);
  background: rgba(6, 25, 29, 0.88);
  box-shadow: inset 0 0 40px rgba(115, 226, 196, 0.045);
}

.signal-monolith__face--front::before {
  background:
    repeating-linear-gradient(0deg, transparent 0 25px, rgba(115, 226, 196, 0.09) 26px),
    linear-gradient(112deg, transparent 38%, rgba(121, 201, 255, 0.12) 38.2% 38.7%, transparent 38.9%);
}

.signal-monolith__face--side {
  background: linear-gradient(180deg, rgba(115, 226, 196, 0.08), transparent 34%), rgba(8, 31, 35, 0.94);
}

.signal-monolith__face--side-b {
  background: repeating-linear-gradient(0deg, transparent 0 31px, rgba(121, 201, 255, 0.1) 32px), rgba(6, 26, 31, 0.96);
}

.signal-monolith__face--top {
  background: linear-gradient(90deg, transparent 48%, rgba(115, 226, 196, 0.78) 49% 51%, transparent 52%), rgba(8, 31, 35, 0.92);
}

.signal-monolith__face--bottom {
  background: linear-gradient(90deg, transparent, rgba(121, 201, 255, 0.7), transparent), rgba(6, 25, 30, 0.96);
}

.signal-monolith__face--back {
  background: repeating-linear-gradient(90deg, transparent 0 22px, rgba(115, 226, 196, 0.075) 23px), rgba(5, 22, 27, 0.96);
}

.signal-monolith__face--side b,
.signal-monolith__face--back b { color: #79c9ff; }

.signal-monolith__face--front::after,
.statement::after,
.site-header::before {
  background: #ff9b8a;
  box-shadow: 0 0 14px rgba(255, 155, 138, 0.5);
}

.signal-monolith__face--front i,
.signal-monolith__face--side-b b,
.signal-monolith__core i,
.signal-slab span,
.signal-chip i,
.signal-hud__mode em,
.micro-code,
.statement__number,
.system__steps em,
.terminal-panel__screen .is-output {
  color: #73e2c4;
}

.signal-monolith__core {
  background: linear-gradient(180deg, rgba(115, 226, 196, 0.13), rgba(121, 201, 255, 0.15));
  box-shadow: 0 0 30px rgba(115, 226, 196, 0.2), inset 0 0 28px rgba(242, 251, 247, 0.07);
}

.signal-monolith__core i { background: #73e2c4; box-shadow: 0 0 16px rgba(115, 226, 196, 0.78); }
.signal-monolith__core b { background: #79c9ff; box-shadow: 0 0 16px rgba(121, 201, 255, 0.72); }
.signal-monolith__layer { border-color: rgba(115, 226, 196, 0.22); }

.signal-monolith__shadow {
  border-color: rgba(115, 226, 196, 0.18);
  background: radial-gradient(ellipse, rgba(115, 226, 196, 0.14), transparent 64%);
  animation: fresh-shadow 4.6s ease-in-out infinite;
}

.signal-slab {
  border-color: rgba(115, 226, 196, 0.3);
  background: rgba(6, 25, 29, 0.72);
  box-shadow: 0 18px 42px rgba(1, 12, 15, 0.34), inset 0 0 20px rgba(115, 226, 196, 0.04);
}

.signal-slab i { background: #79c9ff; box-shadow: 0 0 8px rgba(121, 201, 255, 0.62); }
.signal-chip { border-color: rgba(115, 226, 196, 0.42); background: rgba(6, 25, 29, 0.64); }
.signal-chip span,
.signal-hud__chapter span,
.section-index,
.support-row em,
.contact__content::before { color: #ff9b8a; }
.signal-output i { background: linear-gradient(90deg, #79c9ff, rgba(115, 226, 196, 0.7), transparent); }
.signal-output i::after { box-shadow: 0 0 8px #73e2c4; }
.signal-hud__progress i { background: linear-gradient(90deg, #79c9ff, #73e2c4 70%, #effff9); }

.brand__mark img { filter: drop-shadow(0 0 10px rgba(115, 226, 196, 0.34)); }
.site-header::before { animation: fresh-header-line 5.4s var(--ease-in-out) infinite; transform-origin: left; }
.site-nav a::after,
.field-switch i { background: #73e2c4; }
.field-switch i { box-shadow: 0 0 7px rgba(115, 226, 196, 0.8); }
.cursor__core { background: #79c9ff; box-shadow: 0 0 12px rgba(121, 201, 255, 0.78); }
.field-progress__line i { background: linear-gradient(#79c9ff, #73e2c4); }

.hero::before { -webkit-text-stroke-color: rgba(115, 226, 196, 0.055); }
.hero__title-en--a,
.metric strong { text-shadow: 10px 0 0 rgba(115, 226, 196, 0.1), -5px 0 0 rgba(121, 201, 255, 0.08); }
.hero__signal-index { border-top-color: #ff9b8a; border-left-color: rgba(115, 226, 196, 0.22); }
.hero__signal-index i { background: #73e2c4; transform-origin: left; animation: fresh-signal-pulse 2.4s var(--ease-in-out) infinite; }
.hero__note { border-top-color: rgba(115, 226, 196, 0.35); background: linear-gradient(180deg, rgba(7, 23, 26, 0.7), transparent); }
.orb-button,
.launch-button { border-color: rgba(115, 226, 196, 0.44); background-color: rgba(7, 23, 26, 0.72); box-shadow: 8px 8px 0 rgba(121, 201, 255, 0.08); }
.orb-button::before { background: #73e2c4; }
.text-button i::after { background: #79c9ff; }
.ticker { border-color: rgba(115, 226, 196, 0.18); background: rgba(7, 27, 30, 0.72); }
.ticker__track i { color: #ff9b8a; }
.section-heading { border-top-color: rgba(115, 226, 196, 0.24); }

.section-index::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 9px;
  border-radius: 50%;
  background: #73e2c4;
  box-shadow: 0 0 10px rgba(115, 226, 196, 0.7);
  animation: fresh-dot 2.2s ease-in-out infinite;
}

.statement,
.metric { border-color: rgba(115, 226, 196, 0.16); }
.statement::before { -webkit-text-stroke-color: rgba(115, 226, 196, 0.05); }
.statement h2 em { -webkit-text-stroke-color: rgba(115, 226, 196, 0.72); }
.protocol-terminal { border-color: rgba(115, 226, 196, 0.22); background: rgba(7, 27, 30, 0.74); box-shadow: 16px 16px 0 rgba(121, 201, 255, 0.045); }

.specimen-card__surface {
  border-color: rgba(151, 224, 215, 0.28);
  background:
    radial-gradient(circle at calc(50% + var(--signal-x) * 26%) calc(8% + var(--signal-y) * 14%), rgba(242, 251, 247, 0.15), transparent 34%),
    linear-gradient(132deg, rgba(115, 226, 196, 0.1), transparent 42%, rgba(121, 201, 255, 0.075) 86%),
    rgba(7, 23, 26, 0.28);
  box-shadow: inset 0 1px 0 rgba(242, 251, 247, 0.17), inset 1px 0 0 rgba(115, 226, 196, 0.08), 0 28px 82px rgba(1, 12, 15, 0.28);
}

.specimen-card:hover .specimen-card__surface,
.specimen-card:focus-within .specimen-card__surface {
  border-color: rgba(121, 201, 255, 0.72);
  background:
    radial-gradient(circle at calc(50% + var(--signal-x) * 30%) calc(6% + var(--signal-y) * 16%), rgba(242, 251, 247, 0.21), transparent 36%),
    linear-gradient(132deg, rgba(115, 226, 196, 0.13), transparent 42%, rgba(121, 201, 255, 0.11) 86%),
    rgba(8, 31, 34, 0.32);
  box-shadow: inset 0 1px 0 rgba(242, 251, 247, 0.2), 18px 22px 0 rgba(115, 226, 196, 0.05), 0 38px 105px rgba(1, 12, 15, 0.34), 0 0 44px rgba(121, 201, 255, 0.12);
}

.specimen-card__letter { text-shadow: 0 0 20px rgba(121, 201, 255, 0.34); }
.specimen-card .round-arrow { border-color: rgba(115, 226, 196, 0.5); background: rgba(7, 23, 26, 0.24); }

.system__steps { position: relative; }
.system__steps::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: -7px;
  left: 0;
  width: 33.333%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #73e2c4 45%, #79c9ff, transparent);
  transform: translateX(0);
  animation: fresh-workflow 5.8s var(--ease-in-out) infinite;
  pointer-events: none;
}

.system__steps li { border-color: rgba(115, 226, 196, 0.18); }
.system__steps li:hover,
.system__steps li.is-active,
.system__steps li:focus-visible { border-color: rgba(121, 201, 255, 0.64); }
.control-note { border-left-color: #ff9b8a; }
.support-row:hover { background: rgba(121, 201, 255, 0.055); }

.docs,
.manifesto {
  background-image:
    linear-gradient(90deg, rgba(115, 226, 196, 0.02) 1px, transparent 1px),
    linear-gradient(rgba(121, 201, 255, 0.018) 1px, transparent 1px);
}

.docs-panel > header,
.docs-config > header,
.docs-architecture > header,
.terminal-panel__bar,
.support-row--head { background: linear-gradient(90deg, rgba(115, 226, 196, 0.085), rgba(121, 201, 255, 0.03), transparent); }
.docs-runbook[open] { border-top-color: rgba(121, 201, 255, 0.62); }
.docs-panel--source pre span,
.docs-config pre span,
.docs-runbook[open] summary em { color: #79c9ff; }
.docs-panel__status i { background: #73e2c4; box-shadow: 0 0 8px rgba(115, 226, 196, 0.7); }

.metric.signal-visible strong { animation: fresh-metric-pop 720ms var(--ease-out) both; }
.contact { background: radial-gradient(circle at 50% 50%, rgba(115, 226, 196, 0.07), transparent 44%); }
.contact__en { -webkit-text-stroke-color: rgba(115, 226, 196, 0.64); }
.contact__footer { border-color: rgba(115, 226, 196, 0.2); }
body[data-scene="7"] .contact__content::before { animation: fresh-dot 2.2s ease-in-out infinite; }

.tide-source-about-backdrop {
  background: radial-gradient(circle at 50% 25%, rgba(115, 226, 196, 0.08), transparent 46%), rgba(3, 18, 21, 0.56);
}
.tide-source-about-dialog { border-color: rgba(151, 224, 215, 0.24); color: rgba(230, 247, 244, 0.9); }
.tide-source-about-eyebrow,
.tide-source-about-content a,
.tide-source-about-content code { color: #79c9ff; }
.tide-source-about-badge span:last-child { background: rgba(115, 226, 196, 0.42); color: #effff9; }
.tide-source-about-close:hover,
.tide-source-about-close:focus-visible { border-color: rgba(115, 226, 196, 0.46); background: rgba(115, 226, 196, 0.12); }
.tide-source-promo-overlay .tide-source-diy-pv { --pv: #73e2c4; --pv2: rgba(115, 226, 196, 0.4); }

main .launch-button {
  border-color: #73e2c4;
  color: #07171a;
  background:
    linear-gradient(110deg, transparent 0 38%, rgba(255, 255, 255, 0.68) 46%, transparent 54%) -180% 0 / 52% 100% no-repeat,
    #73e2c4;
  box-shadow: 0 0 0 1px rgba(115, 226, 196, 0.26), 11px 11px 0 rgba(121, 201, 255, 0.76), 0 0 44px rgba(115, 226, 196, 0.22);
}

main .launch-button::before { color: rgba(7, 23, 26, 0.62); }
main .launch-button::after { background: #07171a; }
main .launch-button__arrow { border-left-color: rgba(7, 23, 26, 0.28); }
main .launch-button__ring { border-color: rgba(115, 226, 196, 0.56); }

main .launch-button:hover,
main .launch-button:focus-visible {
  color: #07171a;
  background-color: #79c9ff;
  box-shadow: 0 0 0 1px rgba(121, 201, 255, 0.44), 16px 16px 0 #ff9b8a, 0 0 64px rgba(121, 201, 255, 0.28);
}

/* Keep the current and adjacent scenes warm; only distant scenes are suspended. */
.scene:not(.is-render-active) *,
body.fx-off .scene *,
body.fx-off .signal-stage *,
body.fx-off .site-header *,
body.fx-off .cursor *,
body.signal-paused * {
  animation-play-state: paused !important;
}

.scene:not(.is-render-active) *::before,
.scene:not(.is-render-active) *::after,
body.fx-off .scene *::before,
body.fx-off .scene *::after,
body.fx-off .signal-stage::after,
body.fx-off .signal-stage *::before,
body.fx-off .signal-stage *::after,
body.fx-off .site-header::before,
body.fx-off .site-header *::before,
body.fx-off .site-header *::after,
body.fx-off .cursor *::before,
body.fx-off .cursor *::after,
body.signal-paused .signal-stage::after,
body.signal-paused .signal-stage *::before,
body.signal-paused .signal-stage *::after,
body.signal-paused *::before,
body.signal-paused *::after {
  animation-play-state: paused !important;
}

.experiments,
.system,
.capabilities,
.docs,
.metrics,
.contact {
  contain: style;
}

body.signal-low-power .site-header,
body.signal-low-power .hero__note,
body.signal-low-power .specimen-card__surface,
body.signal-low-power .system__steps li,
body.signal-low-power .docs-panel,
body.signal-low-power .docs-config,
body.signal-low-power .docs-architecture,
body.signal-low-power .docs-runbook {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

@keyframes fresh-beam {
  0%, 100% { opacity: 0.24; }
  50% { opacity: 0.58; }
}

@keyframes fresh-orbit {
  to { transform: rotate(360deg); }
}

@keyframes fresh-shadow {
  0%, 100% { opacity: 0.48; transform: translate(-50%, -12%) rotateX(76deg) scale(0.94); }
  50% { opacity: 0.78; transform: translate(-50%, -12%) rotateX(76deg) scale(1.06); }
}

@keyframes fresh-header-line {
  0%, 100% { transform: scaleX(0.36); opacity: 0.5; }
  52% { transform: scaleX(1); opacity: 1; }
}

@keyframes fresh-signal-pulse {
  0%, 100% { transform: scaleX(0.34); opacity: 0.52; }
  55% { transform: scaleX(1); opacity: 1; }
}

@keyframes fresh-dot {
  0%, 100% { opacity: 0.44; transform: scale(0.72); }
  50% { opacity: 1; transform: scale(1.28); }
}

@keyframes fresh-workflow {
  0%, 12% { transform: translateX(0); opacity: 0; }
  24% { opacity: 1; }
  76% { opacity: 1; }
  88%, 100% { transform: translateX(200%); opacity: 0; }
}

@keyframes fresh-metric-pop {
  0% { opacity: 0.22; transform: translateY(18px) scale(0.96); }
  100% { opacity: 1; transform: none; }
}

@keyframes download-beacon {
  50% {
    box-shadow: 0 0 0 1px rgba(115, 226, 196, 0.42), 14px 14px 0 rgba(121, 201, 255, 0.88), 0 0 68px rgba(115, 226, 196, 0.3);
    background-position: 280% 0, 0 0;
  }
}

@media (max-width: 680px) {
  .signal-portal::before { box-shadow: 0 -40vmin 0 #73e2c4, 0 -40vmin 14px rgba(115, 226, 196, 0.66); }
  .signal-portal::after { box-shadow: 0 -30vmin 0 #79c9ff, 0 -30vmin 12px rgba(121, 201, 255, 0.66); }
  .system__steps::before { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .signal-stage::after,
  .signal-portal::before,
  .signal-portal::after,
  .signal-monolith__shadow,
  .site-header::before,
  .hero__signal-index i,
  .section-index::before,
  .system__steps::before,
  .metric.signal-visible strong,
  body[data-scene="7"] .contact__content::before {
    animation: none !important;
  }
}

/* Reference nebula pass: near-black violet with electric indigo and magenta ribbons. */
:root {
  --ease-silk: cubic-bezier(0.22, 0.61, 0.36, 1);
  --glass-surface:
    radial-gradient(circle at 58% 10%, rgba(247, 242, 255, 0.12), transparent 32%),
    linear-gradient(128deg, rgba(91, 61, 255, 0.12), transparent 38%, rgba(213, 42, 245, 0.08) 84%),
    rgba(7, 2, 24, 0.28);
  --glass-surface-strong:
    radial-gradient(circle at 56% 8%, rgba(247, 242, 255, 0.15), transparent 34%),
    linear-gradient(132deg, rgba(91, 61, 255, 0.15), transparent 40%, rgba(213, 42, 245, 0.1) 86%),
    rgba(5, 1, 20, 0.48);
  --glass-surface-hover:
    radial-gradient(circle at 62% 7%, rgba(247, 242, 255, 0.2), transparent 35%),
    linear-gradient(128deg, rgba(101, 117, 255, 0.18), transparent 42%, rgba(213, 42, 245, 0.14) 88%),
    rgba(13, 3, 40, 0.42);
  --glass-edge: rgba(141, 117, 255, 0.24);
  --glass-filter: blur(5px) saturate(1.2) brightness(1.03);
  --glass-filter-strong: blur(8px) saturate(1.24) brightness(1.02);
  --glass-shadow:
    inset 0 1px 0 rgba(247, 242, 255, 0.14),
    inset 1px 0 0 rgba(107, 76, 255, 0.1),
    0 24px 72px rgba(1, 0, 10, 0.34);
}

html,
body {
  background: #03000c;
}

body::before,
body::after {
  content: "";
  position: fixed;
  z-index: 0;
  pointer-events: none;
  transform: translate3d(0, 0, 0);
  transform-origin: 56% 68%;
}

body::before {
  inset: -5vmax;
  background:
    radial-gradient(ellipse 34% 12% at 48% 69%, rgba(236, 109, 255, 0.74), transparent 58%),
    radial-gradient(ellipse 46% 17% at 70% 58%, rgba(48, 20, 214, 0.72), transparent 64%),
    conic-gradient(
      from 198deg at 55% 68%,
      transparent 0 7%,
      rgba(18, 0, 96, 0.18) 9%,
      rgba(43, 0, 200, 0.68) 13%,
      rgba(213, 42, 245, 0.56) 16%,
      rgba(236, 109, 255, 0.4) 18%,
      transparent 23% 49%,
      rgba(31, 5, 130, 0.24) 53%,
      rgba(71, 36, 238, 0.62) 58%,
      rgba(213, 42, 245, 0.36) 61%,
      transparent 66% 100%
  );
  opacity: 0.68;
  transform: none;
  will-change: auto;
}

body::after {
  inset: auto;
  top: -22vmin;
  left: 18vw;
  width: 128vmin;
  aspect-ratio: 1;
  background:
    repeating-conic-gradient(
      from 206deg at 58% 69%,
      transparent 0 11deg,
      rgba(101, 117, 255, 0.15) 14deg,
      rgba(91, 61, 255, 0.3) 17deg,
      transparent 22deg 38deg
    ),
    radial-gradient(ellipse 38% 13% at 56% 69%, transparent 35%, rgba(213, 42, 245, 0.22) 52%, transparent 68%);
  opacity: 0.3;
  mix-blend-mode: normal;
  animation: nebula-ribbon 32s var(--ease-silk) infinite alternate;
  backface-visibility: hidden;
  will-change: transform, opacity;
}

/* Backdrop blur on moving 3D/fixed layers is a common Chromium flicker source. */
.site-header,
.mobile-menu__panel,
.signal-slab,
.signal-chip,
.hero__note,
.ticker,
.protocol-terminal,
.specimen-card__surface,
.system__steps li,
.terminal-panel,
.support-matrix,
.team-card,
.docs__badges > span,
.docs-panel,
.docs-config,
.docs-architecture,
.docs-runbook {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

::selection {
  color: #080019;
  background: #ec6dff;
}

main .hero__title-en--a,
main .hero__title-en--b,
main .statement h2 em,
main .docs .section-heading h2 em,
main .contact__en {
  color: #f7f2ff !important;
}

main p,
main li { color: rgba(222, 211, 245, 0.76); }

.signal-stage {
  background:
    radial-gradient(circle at var(--stage-x) var(--stage-y), rgba(91, 61, 255, 0.15), transparent 12% 31%),
    radial-gradient(circle at 84% 20%, rgba(213, 42, 245, 0.07), transparent 26%),
    linear-gradient(118deg, transparent 0 72%, rgba(101, 117, 255, 0.04) 72% 72.2%, transparent 72.2%);
}

.signal-stage::before {
  box-shadow: inset 0 0 190px 42px rgba(0, 0, 8, 0.74);
  background: repeating-linear-gradient(0deg, transparent 0 4px, rgba(181, 164, 255, 0.012) 5px);
}

.signal-stage::after {
  background: linear-gradient(transparent, rgba(91, 61, 255, 0.58) 38%, #f4eaff 50%, rgba(213, 42, 245, 0.62) 62%, transparent);
  box-shadow: 0 0 20px rgba(107, 76, 255, 0.34);
  animation-duration: 7.2s;
}

.signal-stage__grid {
  background-image:
    linear-gradient(rgba(107, 76, 255, 0.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(213, 42, 245, 0.09) 1px, transparent 1px);
}

.signal-stage__scan {
  background: linear-gradient(transparent, rgba(101, 117, 255, 0.06), rgba(213, 42, 245, 0.22), transparent);
  animation-duration: 9s;
  mix-blend-mode: normal;
  backface-visibility: hidden;
}

.signal-portal::before {
  background: #6b4cff;
  box-shadow: 0 -31vmin 0 #6b4cff, 0 -31vmin 16px rgba(107, 76, 255, 0.78);
  animation-duration: 24s;
}

.signal-portal::after {
  background: #d52af5;
  box-shadow: 0 -23vmin 0 #d52af5, 0 -23vmin 15px rgba(213, 42, 245, 0.78);
  animation-duration: 18s;
}

.signal-portal i {
  border-color: rgba(107, 76, 255, calc(0.32 - var(--portal) * 0.026));
  box-shadow: 0 0 calc(8px + var(--portal) * 2px) rgba(91, 61, 255, 0.12), inset 0 0 18px rgba(213, 42, 245, 0.055);
  animation-duration: calc(7.8s + var(--portal) * 0.48s);
}

.signal-portal i::before { background: #f4eaff; box-shadow: 0 0 10px #6b4cff; }
.signal-portal i::after { background: #d52af5; box-shadow: 0 0 10px rgba(213, 42, 245, 0.86); }
.signal-map__minor path { stroke: rgba(157, 136, 232, 0.13); }
.signal-map__major path { animation-duration: 7.2s; }
.signal-map__nodes circle { fill: #03000c; stroke: #6b4cff; filter: drop-shadow(0 0 6px rgba(107, 76, 255, 0.76)); animation-duration: 3.8s; }
.signal-map__nodes circle:nth-child(3n) { stroke: #d52af5; filter: drop-shadow(0 0 6px rgba(213, 42, 245, 0.74)); }

/* Static SVG nodes avoid filter/fill repaint flashes; moving paths retain the signal motion. */
.signal-map__nodes circle,
.signal-map__nodes circle:nth-child(3n) {
  animation: none;
  filter: none;
}

.signal-monolith__face,
.signal-monolith__layer {
  border-color: rgba(151, 126, 255, 0.4);
  background: rgba(7, 2, 24, 0.9);
  box-shadow: inset 0 0 42px rgba(91, 61, 255, 0.06);
}
.signal-monolith__face--front::before { background: repeating-linear-gradient(0deg, transparent 0 25px, rgba(107, 76, 255, 0.1) 26px), linear-gradient(112deg, transparent 38%, rgba(213, 42, 245, 0.13) 38.2% 38.7%, transparent 38.9%); }
.signal-monolith__face--front b { -webkit-text-stroke-color: rgba(247, 242, 255, 0.84); }
.signal-monolith__face--side { background: linear-gradient(180deg, rgba(91, 61, 255, 0.12), transparent 34%), rgba(10, 3, 34, 0.95); }
.signal-monolith__face--side-b { background: repeating-linear-gradient(0deg, transparent 0 31px, rgba(213, 42, 245, 0.11) 32px), rgba(8, 2, 28, 0.96); }
.signal-monolith__face--top { background: linear-gradient(90deg, transparent 48%, rgba(107, 76, 255, 0.82) 49% 51%, transparent 52%), rgba(9, 2, 32, 0.94); }
.signal-monolith__face--bottom { background: linear-gradient(90deg, transparent, rgba(213, 42, 245, 0.76), transparent), rgba(7, 1, 25, 0.97); }
.signal-monolith__face--back { background: repeating-linear-gradient(90deg, transparent 0 22px, rgba(107, 76, 255, 0.08) 23px), rgba(6, 1, 23, 0.97); }
.signal-monolith__face--front::after,
.statement::after,
.site-header::before { background: #d52af5; box-shadow: 0 0 16px rgba(213, 42, 245, 0.56); }
.signal-monolith__face--front i,
.signal-monolith__face--side-b b,
.signal-slab span,
.signal-chip i,
.signal-hud__mode em,
.micro-code,
.statement__number,
.system__steps em,
.terminal-panel__screen .is-output { color: #a58bff; }
.signal-monolith__face--side b,
.signal-monolith__face--back b { color: #d52af5; }
.signal-monolith__core { background: linear-gradient(180deg, rgba(91, 61, 255, 0.18), rgba(213, 42, 245, 0.18)); box-shadow: 0 0 34px rgba(91, 61, 255, 0.26), inset 0 0 28px rgba(247, 242, 255, 0.07); }
.signal-monolith__core i { background: #6b4cff; box-shadow: 0 0 18px rgba(107, 76, 255, 0.82); }
.signal-monolith__core b { background: #d52af5; box-shadow: 0 0 18px rgba(213, 42, 245, 0.8); }
.signal-monolith__core i,
.signal-monolith__core b { animation-duration: 4.2s; }
.signal-monolith__core i { transform-origin: 50% 0; }
.signal-monolith__core b { transform-origin: 50% 100%; }
.signal-monolith__layer { border-color: rgba(107, 76, 255, 0.25); animation-duration: 7.4s; }
.signal-monolith__shadow { border-color: rgba(107, 76, 255, 0.2); background: radial-gradient(ellipse, rgba(91, 61, 255, 0.2), transparent 64%); animation-duration: 6.8s; }

.signal-slab { border-color: rgba(107, 76, 255, 0.32); background: rgba(8, 2, 28, 0.76); box-shadow: 0 18px 44px rgba(1, 0, 12, 0.42), inset 0 0 20px rgba(91, 61, 255, 0.06); }
.signal-slab i { background: #d52af5; box-shadow: 0 0 9px rgba(213, 42, 245, 0.7); }
.signal-chip { border-color: rgba(107, 76, 255, 0.48); background: rgba(7, 1, 26, 0.7); }
.signal-chip span,
.signal-hud__chapter span,
.section-index,
.support-row em,
.contact__content::before { color: #ec6dff; }
.signal-chip b { color: rgba(235, 225, 252, 0.84); }
.signal-output span,
.signal-hud__chapter b,
.signal-hud__mode span { color: rgba(222, 211, 245, 0.58); }
.signal-hud__mode b { color: rgba(247, 242, 255, 0.84); }
.signal-hud__mode em { color: #a58bff; }
.signal-output i { background: linear-gradient(90deg, #d52af5, rgba(107, 76, 255, 0.78), transparent); }
.signal-output i::after { box-shadow: 0 0 10px #6b4cff; animation-duration: 3.4s; }
.signal-hud__progress i { background: linear-gradient(90deg, #d52af5, #6b4cff 70%, #f4eaff); }

.brand__mark img { filter: drop-shadow(0 0 12px rgba(107, 76, 255, 0.42)); }
.site-header::before { animation-duration: 8s; }
.site-nav a::after,
.field-switch i { background: #6b4cff; }
.field-switch i { box-shadow: 0 0 9px rgba(107, 76, 255, 0.84); }
.cursor__core { background: #d52af5; box-shadow: 0 0 14px rgba(213, 42, 245, 0.82); }
.field-progress__line i { background: linear-gradient(#d52af5, #6b4cff); }

.hero::before { -webkit-text-stroke-color: rgba(107, 76, 255, 0.06); }
.hero__title-en--a,
.metric strong { text-shadow: 10px 0 0 rgba(91, 61, 255, 0.14), -5px 0 0 rgba(213, 42, 245, 0.1); }
.hero__signal-index { border-top-color: #d52af5; border-left-color: rgba(107, 76, 255, 0.26); }
.hero__signal-index i { background: #6b4cff; animation-duration: 4.6s; }
.hero__note { border-top-color: rgba(107, 76, 255, 0.38); background: linear-gradient(180deg, rgba(6, 1, 23, 0.74), transparent); }
.orb-button,
.launch-button { border-color: rgba(107, 76, 255, 0.48); background-color: rgba(7, 1, 25, 0.78); box-shadow: 8px 8px 0 rgba(213, 42, 245, 0.1); }
.orb-button::before { background: #6b4cff; }
.text-button i::after { background: #d52af5; }
.ticker { border-color: rgba(107, 76, 255, 0.22); background: rgba(6, 1, 22, 0.76); }
.ticker__track i { color: #ec6dff; }
.section-heading { border-top-color: rgba(107, 76, 255, 0.27); }
.section-index::before { background: #d52af5; box-shadow: 0 0 12px rgba(213, 42, 245, 0.78); animation-duration: 3.8s; }

.statement,
.metric { border-color: rgba(107, 76, 255, 0.2); }
.statement::before { -webkit-text-stroke-color: rgba(107, 76, 255, 0.06); }
.statement h2 em { -webkit-text-stroke-color: rgba(165, 139, 255, 0.78); }
.protocol-terminal { border-color: rgba(107, 76, 255, 0.26); background: rgba(7, 1, 25, 0.78); box-shadow: 16px 16px 0 rgba(213, 42, 245, 0.05); }

.specimen-card__surface {
  border-color: rgba(141, 117, 255, 0.3);
  background: radial-gradient(circle at 58% 10%, rgba(247, 242, 255, 0.14), transparent 34%), linear-gradient(132deg, rgba(91, 61, 255, 0.15), transparent 42%, rgba(213, 42, 245, 0.1) 86%), rgba(6, 1, 23, 0.38);
  box-shadow: inset 0 1px 0 rgba(247, 242, 255, 0.16), inset 1px 0 0 rgba(107, 76, 255, 0.1), 0 28px 82px rgba(1, 0, 12, 0.38);
}
.specimen-card:hover .specimen-card__surface,
.specimen-card:focus-within .specimen-card__surface { border-color: rgba(213, 42, 245, 0.72); background: radial-gradient(circle at 62% 8%, rgba(247, 242, 255, 0.2), transparent 36%), linear-gradient(132deg, rgba(101, 117, 255, 0.2), transparent 42%, rgba(213, 42, 245, 0.16) 86%), rgba(11, 2, 36, 0.48); box-shadow: inset 0 1px 0 rgba(247, 242, 255, 0.2), 18px 22px 0 rgba(91, 61, 255, 0.06), 0 38px 105px rgba(1, 0, 12, 0.44), 0 0 46px rgba(213, 42, 245, 0.15); }
.specimen-card__letter { text-shadow: 0 0 22px rgba(213, 42, 245, 0.4); }
.specimen-card .round-arrow { border-color: rgba(107, 76, 255, 0.54); background: rgba(6, 1, 23, 0.3); }

.system__steps::before { background: linear-gradient(90deg, transparent, #6b4cff 42%, #d52af5, transparent); animation-duration: 8.4s; }
.system__steps li { border-color: rgba(107, 76, 255, 0.2); }
.system__steps li:hover,
.system__steps li.is-active,
.system__steps li:focus-visible { border-color: rgba(213, 42, 245, 0.66); }
.control-note { border-left-color: #d52af5; }
.support-row:hover { background: rgba(107, 76, 255, 0.07); }
.docs,
.manifesto { background-image: linear-gradient(90deg, rgba(107, 76, 255, 0.025) 1px, transparent 1px), linear-gradient(rgba(213, 42, 245, 0.018) 1px, transparent 1px); }
.docs-panel > header,
.docs-config > header,
.docs-architecture > header,
.terminal-panel__bar,
.support-row--head { background: linear-gradient(90deg, rgba(91, 61, 255, 0.12), rgba(213, 42, 245, 0.04), transparent); }
.docs-runbook[open] { border-top-color: rgba(213, 42, 245, 0.64); }
.docs-panel--source pre span,
.docs-config pre span,
.docs-runbook[open] summary em,
.tide-source-about-eyebrow,
.tide-source-about-content a,
.tide-source-about-content code { color: #d96bff; }
.docs-panel__status i { background: #6b4cff; box-shadow: 0 0 9px rgba(107, 76, 255, 0.78); }

.contact { background: radial-gradient(circle at 50% 50%, rgba(91, 61, 255, 0.1), transparent 46%); }
.contact__en { -webkit-text-stroke-color: rgba(165, 139, 255, 0.68); }
.contact__footer { border-color: rgba(107, 76, 255, 0.24); }
.tide-source-about-backdrop { background: radial-gradient(circle at 50% 25%, rgba(91, 61, 255, 0.14), transparent 46%), rgba(2, 0, 12, 0.68); }
.tide-source-about-dialog { border-color: rgba(141, 117, 255, 0.28); color: rgba(235, 225, 252, 0.92); }
.tide-source-about-badge span:last-child { background: rgba(91, 61, 255, 0.52); color: #f7f2ff; }
.tide-source-about-close:hover,
.tide-source-about-close:focus-visible { border-color: rgba(213, 42, 245, 0.5); background: rgba(213, 42, 245, 0.14); }
.tide-source-promo-overlay .tide-source-diy-pv { --pv: #6b4cff; --pv2: rgba(107, 76, 255, 0.44); }
.tide-source-promo-overlay .tide-source-accent { color: #a58bff; }
.tide-source-promo-overlay .tide-source-hero::before { color: rgba(101, 117, 255, 0.52); }
.tide-source-promo-overlay .tide-source-hero::after { color: rgba(213, 42, 245, 0.36); }
.tide-source-promo-overlay .tide-source-hero .tide-source-warm { color: #ec6dff; text-shadow: 0 0 28px rgba(213, 42, 245, 0.56); }
.tide-source-promo-overlay .tide-source-demoin { border-color: rgba(107, 76, 255, 0.56); background: linear-gradient(180deg, rgba(91, 61, 255, 0.1), rgba(255, 255, 255, 0.015)), rgba(6, 1, 23, 0.72); box-shadow: 0 0 0 1px rgba(107, 76, 255, 0.1), 0 0 36px rgba(91, 61, 255, 0.24); }
.tide-source-promo-overlay .tide-source-demoin .tide-source-dp { color: #a58bff; }
.tide-source-promo-overlay .tide-source-demoin .tide-source-cr { background: #d52af5; }
.tide-source-promo-overlay .tide-source-mock { background: radial-gradient(ellipse 60% 50% at 84% 6%, rgba(213, 42, 245, 0.14), transparent 55%), linear-gradient(160deg, rgba(13, 5, 42, 0.92), rgba(5, 1, 20, 0.94)); }
.tide-source-promo-overlay .tide-source-mock .tide-source-mrow.tide-source-ok { background: linear-gradient(90deg, rgba(107, 76, 255, 0.5), rgba(213, 42, 245, 0.1)); }
.tide-source-promo-overlay .tide-source-prog { background: linear-gradient(90deg, #5b3dff, #d52af5, #ec6dff); }
.tide-source-promo-overlay .tide-source-grain { display: none; }
.tide-source-promo-overlay .tide-source-scene,
.tide-source-promo-overlay .tide-source-scene.show,
.tide-source-promo-overlay .tide-source-scene.leaving,
.tide-source-promo-overlay .tide-source-pcard,
.tide-source-promo-overlay .tide-source-scene.show .tide-source-pcard,
.tide-source-promo-overlay .tide-source-mock,
.tide-source-promo-overlay .tide-source-scene.show .tide-source-mock {
  filter: none;
}

main .launch-button {
  border-color: #6b4cff;
  color: #080019;
  background: linear-gradient(110deg, transparent 0 38%, rgba(255, 255, 255, 0.68) 46%, transparent 54%) -180% 0 / 52% 100% no-repeat, #a58bff;
  box-shadow: 0 0 0 1px rgba(107, 76, 255, 0.3), 11px 11px 0 rgba(213, 42, 245, 0.78), 0 0 46px rgba(91, 61, 255, 0.3);
  animation: none;
}
main .launch-button::before { color: rgba(8, 0, 25, 0.64); }
main .launch-button::after { background: #080019; }
main .launch-button__arrow { border-left-color: rgba(8, 0, 25, 0.3); }
main .launch-button__ring { border-color: rgba(107, 76, 255, 0.62); }
main .launch-button:hover,
main .launch-button:focus-visible { color: #f7f2ff; background-color: #d52af5; box-shadow: 0 0 0 1px rgba(213, 42, 245, 0.48), 16px 16px 0 #6b4cff, 0 0 68px rgba(213, 42, 245, 0.32); }

body.fx-off::before,
body.fx-off::after,
body.signal-paused::before,
body.signal-paused::after { animation-play-state: paused !important; }

body.signal-low-power::after,
body.signal-low-power .signal-portal::before,
body.signal-low-power .signal-portal::after { display: none; }
body.signal-low-power::before { animation: none; opacity: 0.42; will-change: auto; }

@keyframes nebula-ribbon {
  0% { opacity: 0.2; transform: translate3d(1%, -0.6%, 0) rotate(1.5deg) scale(1.02); }
  100% { opacity: 0.34; transform: translate3d(-1.2%, 0.8%, 0) rotate(-2deg) scale(1.055); }
}

@keyframes core-charge {
  50% { opacity: 0.42; transform: scaleY(2.2); }
}

@keyframes download-beacon {
  50% {
    box-shadow: 0 0 0 1px rgba(107, 76, 255, 0.46), 14px 14px 0 rgba(213, 42, 245, 0.9), 0 0 70px rgba(91, 61, 255, 0.38);
    background-position: 280% 0, 0 0;
  }
}

@keyframes promoinGlow {
  0%, 100% { box-shadow: 0 0 0 1px rgba(107, 76, 255, 0.1), 0 0 28px rgba(91, 61, 255, 0.2); }
  50% { box-shadow: 0 0 0 1px rgba(213, 42, 245, 0.18), 0 0 48px rgba(213, 42, 245, 0.3); }
}

@keyframes promoheroBreathe {
  0%, 100% { text-shadow: 0 0 24px rgba(107, 76, 255, 0.38), 0 0 52px rgba(91, 61, 255, 0.22); filter: brightness(0.96); }
  50% { text-shadow: 0 0 38px rgba(236, 109, 255, 0.62), 0 0 82px rgba(213, 42, 245, 0.38); filter: brightness(1.08); }
}

@media (max-width: 680px) {
  body::before { inset: -5vmax; }
  body::after { display: none; }
  .signal-portal::before { box-shadow: 0 -40vmin 0 #6b4cff, 0 -40vmin 14px rgba(107, 76, 255, 0.7); }
  .signal-portal::after { box-shadow: 0 -30vmin 0 #d52af5, 0 -30vmin 13px rgba(213, 42, 245, 0.7); }
}

@media (prefers-reduced-motion: reduce) {
  body::before,
  body::after { animation: none !important; transform: none; }
}

/* Development Team repair: stable cards, fixed avatar geometry and quiet background. */
.team-block {
  position: relative;
  z-index: 7;
  width: 100%;
  margin-top: clamp(96px, 14vh, 170px);
  scroll-margin-top: calc(var(--header-h) + 24px);
  isolation: isolate;
}

.team-block .section-heading {
  align-items: end;
  transform: none;
  transform-style: flat;
}

.team-block .section-kicker {
  color: rgba(247, 242, 255, 0.9);
  font-size: clamp(28px, 4vw, 56px);
  line-height: 1;
  letter-spacing: -0.04em;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.2vw, 34px);
  align-items: stretch;
  margin-top: clamp(44px, 7vh, 82px);
  perspective: none;
  transform: none;
  transform-style: flat;
}

.team-card {
  position: relative;
  display: grid;
  grid-template-columns: clamp(112px, 9vw, 144px) minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  gap: 10px clamp(22px, 2.3vw, 38px);
  align-items: center;
  align-self: stretch;
  min-width: 0;
  min-height: 270px;
  height: auto;
  padding: clamp(26px, 3vw, 42px);
  overflow: hidden;
  border: 1px solid rgba(141, 117, 255, 0.28);
  border-radius: 18px;
  background:
    radial-gradient(circle at 10% 10%, rgba(107, 76, 255, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(24, 11, 66, 0.96), rgba(8, 2, 28, 0.97));
  box-shadow: inset 0 1px 0 rgba(247, 242, 255, 0.08), 0 24px 68px rgba(1, 0, 12, 0.34);
  transform: none;
  transform-style: flat;
  contain: layout style;
  transition: transform 420ms var(--ease-silk), border-color 320ms ease, box-shadow 420ms var(--ease-silk);
}

.team-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #6b4cff 38%, #d52af5 64%, transparent);
  opacity: 0.72;
  pointer-events: none;
}

.team-card img {
  grid-column: 1;
  grid-row: 1 / -1;
  display: block;
  width: clamp(112px, 9vw, 144px);
  height: clamp(112px, 9vw, 144px);
  min-width: 0;
  max-width: 100%;
  aspect-ratio: 1;
  align-self: center;
  object-fit: cover;
  object-position: center;
  border: 1px solid rgba(165, 139, 255, 0.34);
  border-radius: 14px;
  filter: saturate(0.82) contrast(1.05);
  transform: none;
  transition: transform 420ms var(--ease-silk), filter 320ms ease, border-color 320ms ease;
}

.team-card__copy {
  min-width: 0;
  align-self: center;
}

.team-card__copy > span {
  color: #d96bff;
  font: 600 9px/1.4 Consolas, monospace;
  letter-spacing: 0.16em;
}

.team-card h3 {
  margin: 10px 0 12px;
  color: #f7f2ff;
  font-size: clamp(34px, 3.2vw, 52px);
  font-weight: 320;
  line-height: 1;
  letter-spacing: -0.045em;
}

.team-card p {
  margin: 4px 0;
  color: rgba(222, 211, 245, 0.74);
  font-size: 12px;
  line-height: 1.65;
}

.team-card small {
  grid-column: 2;
  grid-row: 3;
  align-self: end;
  color: rgba(165, 139, 255, 0.64);
  font: 500 8px/1.4 Consolas, monospace;
  letter-spacing: 0.14em;
}

@media (hover: hover) and (pointer: fine) {
  .team-card:hover {
    border-color: rgba(213, 42, 245, 0.5);
    background:
      radial-gradient(circle at 10% 10%, rgba(107, 76, 255, 0.22), transparent 36%),
      linear-gradient(135deg, rgba(28, 12, 76, 0.98), rgba(10, 2, 34, 0.98));
    box-shadow: inset 0 1px 0 rgba(247, 242, 255, 0.1), 0 30px 78px rgba(1, 0, 12, 0.42), 0 0 34px rgba(107, 76, 255, 0.1);
    transform: translateY(-5px);
  }

  .team-card:hover img {
    border-color: rgba(213, 42, 245, 0.5);
    filter: saturate(1) contrast(1.04);
    transform: scale(1.025);
  }
}

body[data-scene="6"] .signal-monolith { opacity: 0.12; }
body[data-scene="6"] .signal-portal { opacity: 0.2; }
body[data-scene="6"] .signal-slab,
body[data-scene="6"] .signal-chip,
body[data-scene="6"] .signal-output { opacity: 0.07; }
body[data-scene="6"] .signal-map { opacity: 0.28; }

@media (max-width: 1020px) {
  .team-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .team-block { margin-top: 88px; }
  .team-block .section-heading { display: block; }
  .team-block .section-kicker { margin-top: 16px; font-size: clamp(28px, 10vw, 42px); text-align: left; }
  .team-grid { gap: 16px; margin-top: 42px; }
  .team-card {
    grid-template-columns: 84px minmax(0, 1fr);
    min-height: 210px;
    gap: 8px 18px;
    padding: 22px 18px;
    border-radius: 14px;
  }
  .team-card img { width: 84px; height: 84px; border-radius: 10px; }
  .team-card h3 { font-size: 32px; }
  .team-card p { font-size: 11px; }
}
