@property --ufo-field-pulse {
  syntax: "<number>";
  inherits: true;
  initial-value: .56;
}

:root[data-ufo-system="active"] {
  --ufo-division: #dfff00;
  --ufo-division-rgb: 223 255 0;
  --ufo-division-soft: color-mix(in oklab, var(--ufo-division) 38%, transparent);
  --ufo-paper: #eceae2;
  --ufo-ink: #050604;
  --ufo-line: rgb(236 234 226 / .13);
  color-scheme: dark;
  background: var(--ufo-ink);
}

:root[data-ufo-division="signal"] { --ufo-division: #dfff00; --ufo-division-rgb: 223 255 0; }
:root[data-ufo-division="media"] { --ufo-division: #ff593f; --ufo-division-rgb: 255 89 63; }
:root[data-ufo-division="archive"] { --ufo-division: #ffc857; --ufo-division-rgb: 255 200 87; }
:root[data-ufo-division="terminal"] { --ufo-division: #62ff88; --ufo-division-rgb: 98 255 136; }
:root[data-ufo-division="field"] { --ufo-division: #55e6f2; --ufo-division-rgb: 85 230 242; }
:root[data-ufo-division="labs"] { --ufo-division: #b994ff; --ufo-division-rgb: 185 148 255; }

:root[data-ufo-system="active"] body,
:root[data-ufo-system="active"] #root {
  min-height: 100%;
  background: transparent !important;
}

:root[data-ufo-system="active"] body {
  overflow-x: clip;
  background: var(--ufo-ink) !important;
}

:root[data-ufo-system="active"] body > header,
:root[data-ufo-system="active"] body > main,
:root[data-ufo-system="active"] body > footer,
:root[data-ufo-system="active"] body > .scanlines {
  position: relative;
  z-index: 2;
}

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

#ufo-system-field {
  position: fixed;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background:
    radial-gradient(circle at var(--ufo-pointer-x, 74%) var(--ufo-pointer-y, 28%), rgb(var(--ufo-division-rgb) / .075), transparent 24rem),
    #050604;
}

#ufo-system-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: calc(.2 + var(--ufo-field-pulse) * .32);
  filter: saturate(1.08) contrast(1.08);
  transform: scale(1.02);
}

.ufo-system-field__seal {
  position: absolute;
  top: clamp(92px, 10vh, 170px);
  right: clamp(-180px, 2vw, 30px);
  width: clamp(500px, 58vw, 940px);
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: .047;
  filter: grayscale(1) contrast(1.48) brightness(.82);
  mix-blend-mode: screen;
  mask-image: radial-gradient(circle, #000 0 52%, rgb(0 0 0 / .82) 67%, transparent 85%);
  transform: rotate(-8deg) scale(1.02);
  transform-origin: 52% 48%;
  animation: ufo-system-seal-drift 26s ease-in-out infinite alternate;
}

.ufo-system-field__bloom,
.ufo-system-field__grain,
.ufo-system-field__scan {
  position: absolute;
  inset: 0;
}

.ufo-system-field__bloom {
  background:
    radial-gradient(circle at var(--ufo-pointer-x, 74%) var(--ufo-pointer-y, 28%), rgb(var(--ufo-division-rgb) / .1), transparent 18rem),
    radial-gradient(circle at 12% 78%, rgb(85 230 255 / .035), transparent 28rem),
    linear-gradient(180deg, transparent 0 48%, rgb(5 6 4 / .58) 82%, var(--ufo-ink) 100%);
  mix-blend-mode: screen;
}

.ufo-system-field__grain {
  opacity: .14;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
  background-size: 180px 180px;
  mix-blend-mode: soft-light;
}

.ufo-system-field__scan {
  opacity: .09;
  background: repeating-linear-gradient(to bottom, transparent 0 3px, rgb(255 255 255 / .07) 3px 4px);
  mask-image: linear-gradient(to bottom, black, transparent 94%);
}

#ufo-system-division {
  position: fixed;
  z-index: 3;
  top: 50%;
  right: 14px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--ufo-division);
  font: 600 9px/1 "Space Mono", ui-monospace, monospace;
  letter-spacing: .22em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: translateY(-50%);
  pointer-events: none;
}

#ufo-system-division::before {
  width: 1px;
  height: 46px;
  content: "";
  background: linear-gradient(var(--ufo-division), transparent);
  box-shadow: 0 0 18px rgb(var(--ufo-division-rgb) / .3);
}

#ufo-system-division::after {
  content: attr(data-memory);
  color: rgb(236 234 226 / .3);
  font-size: 7px;
  letter-spacing: .18em;
}

:root[data-ufo-system="active"] #root {
  position: relative;
  z-index: 2;
  isolation: isolate;
}

.ufo-system-shell,
.ufo-system-scroll {
  background-color: transparent !important;
}

.ufo-system-scroll {
  scrollbar-color: var(--ufo-division) rgb(255 255 255 / .05);
}

:root[data-ufo-system="active"] .ufo-system-scroll [style*="background-color: rgb(5, 5, 5)"],
:root[data-ufo-system="active"] .ufo-system-scroll [style*="background-color: rgb(0, 0, 0)"] {
  background-color: rgb(5 6 4 / .78) !important;
}

.ufo-system-topbar {
  border-bottom-color: rgb(var(--ufo-division-rgb) / .2) !important;
  background: rgb(5 6 4 / .78) !important;
  box-shadow: 0 12px 46px rgb(0 0 0 / .28) !important;
}

.ufo-system-topbar a:hover,
.ufo-system-topbar a:focus-visible {
  color: var(--ufo-division) !important;
}

.ufo-system-route-rail {
  border-bottom-color: rgb(var(--ufo-division-rgb) / .72) !important;
  background: color-mix(in oklab, var(--ufo-ink) 92%, var(--ufo-division) 8%) !important;
}

.ufo-system-route-prefix {
  color: var(--ufo-division) !important;
  text-shadow: 0 0 16px rgb(var(--ufo-division-rgb) / .34);
}

.ufo-system-footer {
  border-top-color: rgb(var(--ufo-division-rgb) / .2) !important;
}

@keyframes ufo-system-seal-drift {
  0% { opacity: .035; transform: rotate(-8deg) scale(1.02) translate3d(0, 0, 0); }
  46% { opacity: .055; }
  100% { opacity: .043; transform: rotate(-2deg) scale(1.08) translate3d(-2.4%, 1.7%, 0); }
}

@media (max-width: 900px) {
  #ufo-system-division { display: none; }
  .ufo-system-field__seal { top: 132px; right: -44%; width: 128vw; opacity: .036; }
}

@media (max-width: 540px) {
  .ufo-system-field__seal { top: 176px; right: -58%; width: 150vw; opacity: .03; }
  #ufo-system-canvas { opacity: .3; }
}

@media (prefers-reduced-motion: reduce) {
  .ufo-system-field__seal { animation: none; }
}

@supports (animation-timeline: scroll()) {
  #ufo-system-field {
    animation: ufo-system-field-breathe linear both;
    animation-timeline: scroll();
  }

  @keyframes ufo-system-field-breathe {
    from { --ufo-field-pulse: .44; }
    to { --ufo-field-pulse: .72; }
  }
}
