/* Theme reveal overlay — veil + typographic title only. */
html > .p-theme-fx {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  pointer-events: none;
  display: none;
  overflow: hidden;
}
html > .p-theme-fx.is-live { display: block; }
.p-theme-fx[data-fx="classic"] { --fx-a: #4f8cff; --fx-b: #c5dcff; --fx-ink: #07080e; }
.p-theme-fx[data-fx="canopy"] { --fx-a: #2bfff8; --fx-b: #b0fcce; --fx-ink: #050c09; }
.p-theme-fx[data-fx="ember"] { --fx-a: #ff6d29; --fx-b: #ffc09a; --fx-ink: #140f10; }
.p-theme-fx[data-fx="vesper"] { --fx-a: #b56cff; --fx-b: #f0d9ff; --fx-ink: #07010a; }
.p-theme-fx-veil {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 90% 70% at 50% 46%, color-mix(in srgb, var(--fx-a) 12%, transparent), transparent 74%),
    var(--fx-ink);
  opacity: 0;
}
.p-theme-fx-word {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-theme-fx-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  letter-spacing: 0.38em;
}
.p-theme-fx-word span {
  display: inline-flex;
  align-items: baseline;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: clamp(22px, 3.6vw, 34px);
  font-weight: 500;
  color: color-mix(in srgb, #fff 90%, var(--fx-b));
  text-shadow: 0 0 28px color-mix(in srgb, var(--fx-a) 32%, transparent);
}
.p-theme-fx-word em {
  display: inline-block;
  font-style: normal;
  font-weight: 500;
  opacity: 0;
  will-change: transform, opacity, filter;
}
.p-theme-fx-rule {
  display: block;
  width: 72%;
  height: 1px;
  margin-top: 18px;
  border: 0;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--fx-b) 70%, var(--fx-a)) 50%, transparent);
  transform: scaleX(0);
  transform-origin: 50% 50%;
  opacity: 0;
}
