/*
 * PATCH 379 — PZ ACCOUNT / HORROR SIGNAL
 * Scope: account.html on desktop, tablet and mobile.
 * Three existing site modes receive separate horror-safe color treatment.
 */

body.account-page,
html[data-theme="neon"] body.account-page {
  --pz-horror-hot: #ff244c;
  --pz-horror-hot-rgb: 255, 36, 76;
  --pz-horror-deep: #790017;
  --pz-horror-deep-rgb: 121, 0, 23;
  --pz-horror-text: #eee5e6;
  --pz-horror-muted: #bdaaad;
  --pz-horror-panel: rgba(15, 2, 5, .92);
  --pz-horror-panel-soft: rgba(29, 3, 8, .70);
  --pz-horror-line: rgba(255, 54, 84, .27);
  --pz-horror-field: rgba(255, 34, 66, .045);
  --pz-horror-shadow: rgba(180, 0, 31, .28);
  color: var(--pz-horror-text);
  background:
    radial-gradient(circle at 17% 8%, rgba(var(--pz-horror-deep-rgb), .30), transparent 31%),
    radial-gradient(circle at 86% 22%, rgba(var(--pz-horror-hot-rgb), .10), transparent 28%),
    linear-gradient(135deg, #020000, #100103 58%, #030001);
}

html[data-theme="lite"] body.account-page {
  --pz-horror-hot: #d0bec1;
  --pz-horror-hot-rgb: 208, 190, 193;
  --pz-horror-deep: #6f1d2d;
  --pz-horror-deep-rgb: 111, 29, 45;
  --pz-horror-text: #e7dfe0;
  --pz-horror-muted: #a99da0;
  --pz-horror-panel: rgba(12, 11, 12, .95);
  --pz-horror-panel-soft: rgba(33, 29, 30, .74);
  --pz-horror-line: rgba(210, 187, 191, .22);
  --pz-horror-field: rgba(224, 205, 208, .045);
  --pz-horror-shadow: rgba(96, 24, 38, .22);
}

html[data-theme="pink"] body.account-page {
  --pz-horror-hot: #ff4f91;
  --pz-horror-hot-rgb: 255, 79, 145;
  --pz-horror-deep: #87003c;
  --pz-horror-deep-rgb: 135, 0, 60;
  --pz-horror-text: #fff0f6;
  --pz-horror-muted: #d2acbd;
  --pz-horror-panel: rgba(21, 2, 13, .92);
  --pz-horror-panel-soft: rgba(45, 4, 27, .70);
  --pz-horror-line: rgba(255, 90, 151, .26);
  --pz-horror-field: rgba(255, 62, 130, .050);
  --pz-horror-shadow: rgba(192, 0, 79, .26);
}

body.account-page .auth-screen {
  min-height: 100svh;
  background: #030001;
}

body.account-page .auth-bg {
  background: #020000;
}

body.account-page .auth-bg video {
  transform: scale(1.025);
  filter: saturate(.76) contrast(1.20) brightness(.35) sepia(.13) hue-rotate(302deg);
}

html[data-theme="lite"] body.account-page .auth-bg video {
  opacity: .26;
  filter: grayscale(.88) contrast(1.18) brightness(.34);
}

html[data-theme="pink"] body.account-page .auth-bg video {
  filter: saturate(.92) contrast(1.17) brightness(.38) hue-rotate(326deg);
}

body.account-page .auth-bg__lite-stub {
  background:
    radial-gradient(circle at 20% 22%, rgba(var(--pz-horror-deep-rgb), .22), transparent 32%),
    linear-gradient(135deg, #050405, #100b0d 58%, #030303);
}

body.account-page .auth-shade {
  background:
    radial-gradient(circle at 17% 48%, rgba(var(--pz-horror-hot-rgb), .18), transparent 31%),
    radial-gradient(circle at 76% 52%, rgba(var(--pz-horror-deep-rgb), .22), transparent 28%),
    linear-gradient(90deg, rgba(3, 0, 1, .91), rgba(10, 0, 2, .58) 49%, rgba(3, 0, 1, .92));
}

html[data-theme="lite"] body.account-page .auth-shade {
  background:
    radial-gradient(circle at 18% 48%, rgba(128, 35, 53, .13), transparent 32%),
    linear-gradient(90deg, rgba(4, 4, 4, .93), rgba(12, 10, 11, .66) 50%, rgba(3, 3, 3, .94));
}

body.account-page .auth-noise {
  opacity: .10;
  background-image: radial-gradient(circle, rgba(var(--pz-horror-hot-rgb), .50) .58px, transparent .7px);
  background-size: 24px 24px;
  mix-blend-mode: screen;
}

body.account-page .auth-screen::before {
  right: -100px;
  top: 9%;
  background: radial-gradient(circle, rgba(var(--pz-horror-hot-rgb), .20), transparent 69%);
}

body.account-page .auth-screen::after {
  left: -88px;
  bottom: 7%;
  background: radial-gradient(circle, rgba(var(--pz-horror-deep-rgb), .30), transparent 70%);
}

body.account-page .auth-layout,
body.account-page .auth-footer {
  position: relative;
  z-index: 4;
}

body.account-page .auth-top {
  z-index: 5;
}

body.account-page .auth-top__logo {
  filter: drop-shadow(0 0 17px rgba(var(--pz-horror-hot-rgb), .30));
}

body.account-page .auth-layout {
  width: min(1540px, calc(100% - 84px)) !important;
  grid-template-columns: minmax(0, 1fr) minmax(350px, 470px) !important;
  gap: clamp(38px, 5vw, 86px) !important;
  padding: 96px 0 58px !important;
}

body.account-page .auth-copy {
  width: 100%;
  max-width: 820px !important;
  min-width: 0;
}

body.account-page .auth-copy > .auth-kicker {
  max-width: none !important;
  margin: 0 0 18px !important;
  color: rgba(var(--pz-horror-hot-rgb), .67);
  font-size: clamp(.72rem, .9vw, .92rem) !important;
  line-height: 1.2 !important;
  text-shadow: 0 0 18px rgba(var(--pz-horror-hot-rgb), .20);
}

body.account-page .auth-copy h1 {
  width: 100%;
  max-width: 820px !important;
  margin: 0;
  font-size: clamp(3.2rem, 5.35vw, 6.45rem) !important;
  line-height: .89 !important;
  letter-spacing: -.062em !important;
  overflow: visible !important;
}

body.account-page .auth-copy h1 .auth-title-line-wrap {
  display: block !important;
  position: relative;
  width: 100%;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 0 .035em !important;
  overflow: visible !important;
  color: var(--pz-horror-text) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.account-page .auth-copy h1 .auth-title-line {
  display: block !important;
  position: relative;
  width: max-content;
  max-width: 100% !important;
  margin: 0 !important;
  opacity: 1;
  color: var(--pz-horror-text) !important;
  white-space: nowrap !important;
  transform: none;
  filter: none;
  text-shadow:
    0 0 10px rgba(var(--pz-horror-hot-rgb), .62),
    0 0 34px rgba(var(--pz-horror-hot-rgb), .31),
    0 0 76px rgba(var(--pz-horror-deep-rgb), .32) !important;
  -webkit-mask-image: linear-gradient(
    180deg,
    #000 0 18%,
    transparent 18.5% 20.5%,
    #000 21% 47%,
    transparent 47.5% 50%,
    #000 50.5% 76%,
    transparent 76.5% 78.5%,
    #000 79% 100%
  );
  mask-image: linear-gradient(
    180deg,
    #000 0 18%,
    transparent 18.5% 20.5%,
    #000 21% 47%,
    transparent 47.5% 50%,
    #000 50.5% 76%,
    transparent 76.5% 78.5%,
    #000 79% 100%
  );
  will-change: opacity, filter, text-shadow;
  animation: pzHorrorLamp 7.4s steps(1, end) 1.1s infinite !important;
}

body.account-page .auth-copy h1 .auth-title-line-wrap:nth-child(2) .auth-title-line {
  animation-delay: 2.3s !important;
  animation-duration: 8.1s !important;
}

body.account-page .auth-copy h1 .auth-title-line::before,
body.account-page .auth-copy h1 .auth-title-line::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  display: block;
  color: inherit;
  white-space: nowrap;
  pointer-events: none;
  opacity: .56;
  text-shadow: inherit;
}

body.account-page .auth-copy h1 .auth-title-line::before {
  clip-path: polygon(0 18%, 100% 14%, 100% 36%, 0 39%);
  transform: translateX(-3px);
  color: rgba(var(--pz-horror-hot-rgb), .90);
  animation: pzHorrorSliceOne 3.8s steps(1, end) infinite;
}

body.account-page .auth-copy h1 .auth-title-line::after {
  clip-path: polygon(0 62%, 100% 58%, 100% 82%, 0 86%);
  transform: translateX(3px);
  color: rgba(222, 213, 215, .82);
  animation: pzHorrorSliceTwo 4.6s steps(1, end) .7s infinite;
}

body.account-page .auth-copy h1 .auth-title-sub {
  display: block !important;
  margin-top: 16px !important;
  opacity: 1 !important;
  color: rgba(var(--pz-horror-hot-rgb), .64) !important;
  font-size: clamp(.95rem, 1.28vw, 1.34rem) !important;
  letter-spacing: .38em !important;
  transform: none !important;
  filter: none !important;
  text-shadow: 0 0 17px rgba(var(--pz-horror-hot-rgb), .12) !important;
  animation: pzHorrorSubFlicker 9s steps(1, end) 2s infinite !important;
}

.pz-account-theme-picker {
  position: relative;
  width: min(610px, 100%);
  min-height: 58px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 58px;
  align-items: center;
  gap: 12px;
  margin-top: 30px;
  padding: 8px 9px 8px 16px;
  border: 1px solid var(--pz-horror-line);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(var(--pz-horror-hot-rgb), .055), rgba(var(--pz-horror-deep-rgb), .075)),
    rgba(5, 1, 2, .58);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .26), inset 0 0 0 1px rgba(255, 255, 255, .018);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.pz-account-theme-picker__label {
  color: rgba(var(--pz-horror-hot-rgb), .76);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.pz-account-theme-picker__options {
  position: static !important;
  inset: auto !important;
  min-width: 0;
  width: auto !important;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 0;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.pz-account-theme-picker__options button {
  min-width: 0;
  min-height: 38px;
  padding: 6px 8px;
  border: 1px solid rgba(var(--pz-horror-hot-rgb), .12);
  border-radius: 12px;
  color: rgba(234, 220, 222, .69);
  background: rgba(255, 255, 255, .025);
  font: inherit;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1.15;
  white-space: normal;
  overflow-wrap: normal;
  appearance: none;
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.pz-account-theme-picker__options button small {
  display: inline;
  color: inherit;
  font-size: .58rem;
}

.pz-account-theme-picker__options button:hover:not(:disabled) {
  color: var(--pz-horror-text);
  border-color: rgba(var(--pz-horror-hot-rgb), .34);
  background: rgba(var(--pz-horror-hot-rgb), .075);
}

.pz-account-theme-picker__options button.is-active,
.pz-account-theme-picker__options button[aria-pressed="true"] {
  color: #fff5f6;
  border-color: rgba(var(--pz-horror-hot-rgb), .48);
  background: linear-gradient(135deg, rgba(var(--pz-horror-hot-rgb), .76), rgba(var(--pz-horror-deep-rgb), .88));
  box-shadow: 0 0 18px rgba(var(--pz-horror-hot-rgb), .17);
}

.pz-account-theme-picker__options button:disabled,
.pz-account-theme-picker__options button.is-unavailable {
  opacity: .38;
  cursor: not-allowed;
}

.pz-account-horror-mark {
  position: relative;
  width: 54px;
  height: 38px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(var(--pz-horror-hot-rgb), .25);
  border-radius: 11px;
  background: #020000;
  box-shadow: 0 0 18px rgba(var(--pz-horror-hot-rgb), .15), inset 0 0 13px rgba(var(--pz-horror-deep-rgb), .22);
  clip-path: polygon(5% 0, 95% 0, 100% 20%, 100% 76%, 91% 100%, 10% 100%, 0 80%, 0 17%);
}

.pz-account-horror-mark::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 46%, rgba(var(--pz-horror-hot-rgb), .20) 48%, transparent 52%);
  animation: pzHorrorMarkScan 2.9s steps(1, end) infinite;
}

.pz-account-horror-mark video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  mix-blend-mode: screen;
  filter: saturate(1.15) contrast(1.12) drop-shadow(0 0 5px rgba(var(--pz-horror-hot-rgb), .40));
}

body.account-page .auth-card {
  border-color: var(--pz-horror-line);
  background:
    radial-gradient(circle at 18% 0%, rgba(var(--pz-horror-hot-rgb), .13), transparent 33%),
    radial-gradient(circle at 92% 82%, rgba(var(--pz-horror-deep-rgb), .13), transparent 38%),
    linear-gradient(180deg, var(--pz-horror-panel), rgba(5, 1, 2, .96));
  box-shadow:
    0 30px 96px rgba(0, 0, 0, .62),
    0 0 46px var(--pz-horror-shadow),
    inset 0 1px 0 rgba(255, 255, 255, .03);
}

body.account-page .auth-card::before {
  background: linear-gradient(135deg, rgba(255, 255, 255, .055), transparent 30%, rgba(var(--pz-horror-hot-rgb), .065));
  opacity: .72;
}

body.account-page .auth-card::after {
  border-color: rgba(var(--pz-horror-hot-rgb), .08);
}

body.account-page .auth-scan {
  position: relative;
  width: 144px !important;
  aspect-ratio: 1;
  margin: 0 auto 20px !important;
  overflow: hidden;
  border: 0;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, rgba(255, 255, 255, .055), transparent 34%),
    radial-gradient(circle at center, rgba(var(--pz-horror-hot-rgb), .13), transparent 58%),
    radial-gradient(circle at center, transparent 58%, rgba(var(--pz-horror-hot-rgb), .16) 59%, transparent 61%);
  box-shadow:
    0 0 31px rgba(var(--pz-horror-hot-rgb), .22),
    inset 0 0 34px rgba(var(--pz-horror-deep-rgb), .16);
  animation: pzBrokenSignalLamp 5.6s steps(1, end) .8s infinite !important;
}

body.account-page .auth-scan::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 0;
  border-radius: 50%;
  background: repeating-conic-gradient(
    from 8deg,
    rgba(var(--pz-horror-hot-rgb), .92) 0deg 16deg,
    transparent 16deg 29deg,
    rgba(var(--pz-horror-hot-rgb), .28) 29deg 47deg,
    transparent 47deg 73deg
  );
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));
  opacity: .76;
  transform: none;
  animation: pzBrokenHaloDistort 3.7s steps(1, end) infinite !important;
}

body.account-page .auth-scan::after {
  content: "";
  position: absolute;
  inset: 34% 13%;
  border-radius: 3px;
  background:
    repeating-linear-gradient(180deg, transparent 0 5px, rgba(var(--pz-horror-hot-rgb), .62) 5px 7px, transparent 7px 12px),
    linear-gradient(90deg, transparent 0 8%, rgba(var(--pz-horror-hot-rgb), .72) 8% 33%, transparent 33% 47%, rgba(var(--pz-horror-hot-rgb), .42) 47% 79%, transparent 79%);
  clip-path: polygon(0 7%, 72% 0, 68% 28%, 100% 34%, 88% 55%, 43% 49%, 49% 76%, 4% 100%);
  opacity: .58;
  filter: blur(.35px) drop-shadow(0 0 6px rgba(var(--pz-horror-hot-rgb), .55));
  transform: none;
  transform-origin: center;
  animation: pzBrokenLightTear 2.8s steps(1, end) .2s infinite !important;
}

.pz-broken-signal__fragment {
  position: absolute;
  z-index: 2;
  height: 2px;
  border-radius: 999px;
  background: rgba(var(--pz-horror-hot-rgb), .76);
  box-shadow: 0 0 7px rgba(var(--pz-horror-hot-rgb), .72);
  pointer-events: none;
}

.pz-broken-signal__fragment--one {
  top: 32%;
  left: 18%;
  width: 38%;
  animation: pzSignalFragmentOne 2.4s steps(1, end) infinite;
}

.pz-broken-signal__fragment--two {
  top: 61%;
  right: 14%;
  width: 31%;
  animation: pzSignalFragmentTwo 3.1s steps(1, end) .6s infinite;
}

.pz-broken-signal__fragment--three {
  top: 74%;
  left: 31%;
  width: 22%;
  opacity: .52;
  animation: pzSignalFragmentThree 3.8s steps(1, end) 1.1s infinite;
}

body.account-page .auth-scan__center {
  z-index: 3;
  color: rgba(var(--pz-horror-hot-rgb), .68);
  animation: pzSignalCenterFlicker 6.3s steps(1, end) infinite;
}

body.account-page .auth-scan__center b {
  color: var(--pz-horror-text);
  text-shadow: 0 0 18px rgba(var(--pz-horror-hot-rgb), .46);
}

body.account-page .auth-card-title {
  color: rgba(var(--pz-horror-hot-rgb), .72);
  text-shadow: 0 0 19px rgba(var(--pz-horror-hot-rgb), .28);
}

body.account-page .auth-progress {
  width: min(236px, 72%);
  height: 3px;
  margin-bottom: 16px;
  overflow: visible;
  background: rgba(var(--pz-horror-hot-rgb), .08);
}

body.account-page .auth-progress span {
  width: 100%;
  background: repeating-linear-gradient(90deg, var(--pz-horror-deep) 0 15px, var(--pz-horror-hot) 15px 31px, transparent 31px 38px);
  background-size: 150% 100%;
  box-shadow: 0 0 11px rgba(var(--pz-horror-hot-rgb), .38);
  animation: pzBrokenPortalLine 3.2s steps(6, end) infinite !important;
}

body.account-page .auth-tabs {
  border-color: rgba(var(--pz-horror-hot-rgb), .13);
  background: rgba(var(--pz-horror-hot-rgb), .040);
}

body.account-page .auth-tab {
  color: rgba(230, 213, 216, .70);
}

body.account-page .auth-tab.is-active {
  color: #fff;
  background: linear-gradient(135deg, rgba(var(--pz-horror-hot-rgb), .88), rgba(var(--pz-horror-deep-rgb), .94));
  box-shadow: 0 0 22px rgba(var(--pz-horror-hot-rgb), .21);
}

body.account-page .auth-field {
  color: rgba(var(--pz-horror-hot-rgb), .62);
}

body.account-page .auth-field input {
  color: var(--pz-horror-text);
  border-color: rgba(var(--pz-horror-hot-rgb), .18);
  background: var(--pz-horror-field);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .015);
}

body.account-page .auth-field input::placeholder {
  color: rgba(222, 203, 206, .34);
}

body.account-page .auth-field input:focus {
  border-color: rgba(var(--pz-horror-hot-rgb), .58);
  background: rgba(var(--pz-horror-hot-rgb), .065);
  box-shadow: 0 0 0 3px rgba(var(--pz-horror-hot-rgb), .085), 0 0 24px var(--pz-horror-shadow);
}

body.account-page .auth-consent,
body.account-page .auth-field__hint,
body.account-page .auth-field__availability {
  color: rgba(217, 200, 203, .58);
}

body.account-page .auth-consent input {
  accent-color: var(--pz-horror-hot);
}

body.account-page .auth-consent a {
  color: rgba(var(--pz-horror-hot-rgb), .84);
  text-decoration-color: rgba(var(--pz-horror-hot-rgb), .34);
}

body.account-page .auth-main-button {
  background: linear-gradient(90deg, var(--pz-horror-deep), var(--pz-horror-hot) 51%, var(--pz-horror-deep));
  background-size: 200% 100%;
  box-shadow: 0 0 21px rgba(var(--pz-horror-hot-rgb), .24), 0 15px 34px rgba(0, 0, 0, .28);
}

body.account-page .auth-secondary-button {
  color: var(--pz-horror-text);
  border-color: rgba(var(--pz-horror-hot-rgb), .16);
  background: rgba(var(--pz-horror-hot-rgb), .035);
}

body.account-page .auth-account-user {
  border-color: rgba(var(--pz-horror-hot-rgb), .17);
  background: rgba(var(--pz-horror-hot-rgb), .035);
}

body.account-page .auth-account-avatar {
  background: linear-gradient(135deg, rgba(var(--pz-horror-hot-rgb), .92), rgba(var(--pz-horror-deep-rgb), .96));
  box-shadow: 0 0 28px rgba(var(--pz-horror-hot-rgb), .21);
}

body.account-page .auth-account-menu a,
body.account-page .auth-account-menu button {
  border-color: rgba(var(--pz-horror-hot-rgb), .14);
  color: rgba(242, 229, 231, .90);
  background: rgba(var(--pz-horror-hot-rgb), .035);
}

body.account-page .auth-card.is-authenticated .auth-scan {
  color: rgba(var(--pz-horror-hot-rgb), .75);
  box-shadow: 0 0 27px rgba(var(--pz-horror-hot-rgb), .23), inset 0 0 30px rgba(var(--pz-horror-deep-rgb), .14);
}

body.account-page .auth-footer {
  color: rgba(211, 190, 194, .48);
}

body.account-page .auth-footer a {
  color: rgba(231, 215, 218, .72);
}

.pz-blood-rain {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
}

.pz-blood-rain::before {
  content: "";
  position: absolute;
  top: -18px;
  left: -2%;
  width: 104%;
  height: 68px;
  opacity: .70;
  background:
    radial-gradient(ellipse at 7% 10%, rgba(var(--pz-horror-hot-rgb), .76) 0 7px, transparent 8px),
    radial-gradient(ellipse at 18% 0%, rgba(var(--pz-horror-deep-rgb), .90) 0 13px, transparent 14px),
    radial-gradient(ellipse at 35% 8%, rgba(var(--pz-horror-hot-rgb), .70) 0 9px, transparent 10px),
    radial-gradient(ellipse at 53% 0%, rgba(var(--pz-horror-deep-rgb), .86) 0 15px, transparent 16px),
    radial-gradient(ellipse at 68% 12%, rgba(var(--pz-horror-hot-rgb), .68) 0 8px, transparent 9px),
    radial-gradient(ellipse at 86% 0%, rgba(var(--pz-horror-deep-rgb), .88) 0 14px, transparent 15px),
    linear-gradient(180deg, rgba(var(--pz-horror-deep-rgb), .94) 0 16px, rgba(var(--pz-horror-hot-rgb), .52) 17px, transparent 42px);
  filter: drop-shadow(0 5px 13px rgba(var(--pz-horror-hot-rgb), .19));
  animation: pzBloodEdgePulse 5.8s ease-in-out infinite;
}

.pz-blood-rain::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -24%;
  height: 48%;
  opacity: .20;
  background: radial-gradient(ellipse at 50% 100%, rgba(var(--pz-horror-deep-rgb), .38), transparent 66%);
  filter: blur(26px);
}

.pz-blood-drop {
  position: absolute;
  top: -16vh;
  left: var(--pz-drop-x);
  width: var(--pz-drop-width);
  height: var(--pz-drop-height);
  border-radius: 999px 999px 60% 60%;
  opacity: 0;
  background: linear-gradient(180deg, rgba(var(--pz-horror-deep-rgb), 0), rgba(var(--pz-horror-deep-rgb), .78) 46%, rgba(var(--pz-horror-hot-rgb), .94));
  box-shadow: 0 0 8px rgba(var(--pz-horror-hot-rgb), .43), 0 0 20px rgba(var(--pz-horror-deep-rgb), .24);
  transform: translate3d(0, -18vh, 0) rotate(var(--pz-drop-tilt));
  transform-origin: 50% 100%;
  will-change: transform, opacity;
  animation: pzBloodDropFall var(--pz-drop-duration) linear var(--pz-drop-delay) infinite;
}

.pz-blood-drop::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(var(--pz-drop-width) * -.55);
  width: calc(var(--pz-drop-width) * 2.2);
  height: calc(var(--pz-drop-width) * 2.55);
  border-radius: 66% 44% 70% 38%;
  background: radial-gradient(circle at 36% 30%, rgba(var(--pz-horror-hot-rgb), .98) 0 8%, var(--pz-horror-deep) 78%);
  box-shadow: 0 0 12px rgba(var(--pz-horror-hot-rgb), .48);
  transform: translateX(-50%) rotate(42deg);
}

.pz-blood-drop::after {
  content: "";
  position: absolute;
  inset: 18% -5px -9px;
  border-radius: inherit;
  background: rgba(var(--pz-horror-hot-rgb), .16);
  filter: blur(5px);
}

.pz-blood-rain.is-paused .pz-blood-drop,
.pz-blood-rain.is-paused::before,
body.account-page.is-horror-paused .auth-title-line,
body.account-page.is-horror-paused .auth-title-line::before,
body.account-page.is-horror-paused .auth-title-line::after,
body.account-page.is-horror-paused .auth-scan,
body.account-page.is-horror-paused .auth-scan::before,
body.account-page.is-horror-paused .auth-scan::after {
  animation-play-state: paused !important;
}

html[data-theme="lite"] .pz-blood-rain {
  opacity: .60;
}

html[data-theme="lite"] .pz-blood-drop:nth-child(n + 7) {
  display: none;
}

@media (max-width: 1180px) {
  body.account-page .auth-bg__lite-stub {
    display: block;
  }

  body.account-page .auth-bg video {
    display: none !important;
  }

  body.account-page .auth-top {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: min(270px, calc(100vw - 36px));
    margin: 0;
    padding: 18px 18px 0;
    transform: none !important;
  }

  body.account-page .auth-layout {
    width: min(100% - 32px, 680px) !important;
    min-height: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 30px !important;
    padding: 34px 0 42px !important;
  }

  body.account-page .auth-copy {
    max-width: 100% !important;
    padding-left: 0 !important;
  }

  body.account-page .auth-copy h1 {
    max-width: 100% !important;
    font-size: clamp(2.8rem, 9.3vw, 5.4rem) !important;
  }

  body.account-page .auth-card {
    width: min(100%, 540px);
    margin: 0 auto;
  }

  body.account-page .auth-footer {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    width: min(100% - 36px, 680px);
    margin: 0 auto;
    padding: 0 0 24px;
  }
}

@media (max-width: 760px) {
  body.account-page .auth-top {
    width: min(236px, calc(100vw - 32px));
    padding: 14px 16px 0 !important;
  }

  body.account-page .auth-layout {
    width: min(100% - 24px, 540px) !important;
    gap: 24px !important;
    padding: 30px 0 34px !important;
  }

  body.account-page .auth-copy > .auth-kicker {
    margin: 0 0 14px !important;
    font-size: .68rem !important;
    letter-spacing: .30em;
  }

  body.account-page .auth-copy h1 {
    font-size: clamp(2.1rem, 11.8vw, 4.15rem) !important;
    line-height: .91 !important;
    letter-spacing: -.058em !important;
  }

  body.account-page .auth-copy h1 .auth-title-line {
    will-change: opacity;
    animation-name: pzHorrorLampMobile !important;
  }

  body.account-page .auth-copy h1 .auth-title-sub {
    margin-top: 12px !important;
    font-size: clamp(.76rem, 3.5vw, 1rem) !important;
    letter-spacing: .28em !important;
  }

  .pz-account-theme-picker {
    grid-template-columns: minmax(0, 1fr) 54px;
    gap: 8px 10px;
    margin-top: 22px;
    padding: 9px;
    border-radius: 16px;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .pz-account-theme-picker__label {
    padding-left: 4px;
  }

  .pz-account-theme-picker__options {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .pz-account-theme-picker__options button {
    min-height: 42px;
    padding: 6px 5px;
    font-size: .64rem;
  }

  .pz-account-horror-mark {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  body.account-page .auth-card {
    padding: 20px !important;
    border-radius: 25px !important;
    contain: layout style;
  }

  body.account-page .auth-scan {
    width: 118px !important;
    margin-bottom: 15px !important;
  }

  body.account-page .auth-scan::after,
  .pz-account-horror-mark video {
    filter: none;
  }

  body.account-page .auth-card-title {
    font-size: .86rem !important;
    letter-spacing: .22em;
  }

  body.account-page .auth-progress {
    margin-bottom: 13px;
  }

  .pz-blood-rain::before {
    height: 52px;
    opacity: .55;
    filter: none;
    animation: none;
  }

  .pz-blood-rain::after,
  .pz-blood-drop::after {
    display: none;
  }

  .pz-blood-drop {
    box-shadow: 0 0 7px rgba(var(--pz-horror-hot-rgb), .31);
    will-change: transform;
  }

  body.account-page .auth-noise {
    opacity: .07;
    mix-blend-mode: normal;
  }

  .pz-blood-drop:nth-child(n + 6) {
    display: none;
  }
}

@media (max-width: 390px) {
  body.account-page .auth-copy h1 {
    font-size: clamp(2rem, 11.1vw, 3.15rem) !important;
  }

  .pz-account-theme-picker__options button {
    font-size: .59rem;
    letter-spacing: -.01em;
  }
}

@keyframes pzHorrorLampMobile {
  0%, 2.4%, 3.7%, 8%, 47%, 49.2%, 50.4%, 77%, 79.3%, 100% { opacity: 1; }
  2.7% { opacity: .16; }
  3.1% { opacity: .70; }
  48.1% { opacity: .28; }
  49.8% { opacity: .82; }
  78.2% { opacity: .07; }
  78.7% { opacity: .54; }
}

@keyframes pzHorrorLamp {
  0%, 2.4%, 3.7%, 8%, 47%, 49.2%, 50.4%, 77%, 79.3%, 100% {
    opacity: 1;
    filter: none;
  }
  2.7% {
    opacity: .16;
    filter: brightness(.35);
  }
  3.1% {
    opacity: .70;
    filter: brightness(.72);
  }
  48.1% {
    opacity: .28;
    filter: brightness(.45) blur(.2px);
  }
  49.8% {
    opacity: .82;
    filter: brightness(.82);
  }
  78.2% {
    opacity: .07;
    filter: brightness(.22);
  }
  78.7% {
    opacity: .54;
    filter: brightness(.62);
  }
}

@keyframes pzHorrorSliceOne {
  0%, 18%, 20%, 58%, 60%, 100% { transform: translateX(-3px); opacity: .50; }
  19% { transform: translateX(7px); opacity: .86; }
  59% { transform: translateX(-9px); opacity: .70; }
}

@keyframes pzHorrorSliceTwo {
  0%, 28%, 30%, 72%, 74%, 100% { transform: translateX(3px); opacity: .42; }
  29% { transform: translateX(-6px); opacity: .80; }
  73% { transform: translateX(10px); opacity: .65; }
}

@keyframes pzHorrorSubFlicker {
  0%, 4%, 35%, 37%, 79%, 81%, 100% { opacity: 1; }
  4.5%, 36%, 80% { opacity: .24; }
  5%, 36.5%, 80.5% { opacity: .68; }
}

@keyframes pzHorrorMarkScan {
  0%, 44%, 47%, 100% { transform: translateY(-12px); opacity: .15; }
  45% { transform: translateY(7px); opacity: .62; }
  46% { transform: translateY(-2px); opacity: .30; }
}

@keyframes pzBrokenSignalLamp {
  0%, 5%, 7%, 44%, 46%, 88%, 90%, 100% { opacity: 1; filter: none; }
  6%, 45%, 89% { opacity: .42; filter: brightness(.56); }
}

@keyframes pzBrokenHaloDistort {
  0%, 21%, 24%, 51%, 54%, 81%, 84%, 100% { transform: translate(0, 0) scale(1); opacity: .72; }
  22% { transform: translate(3px, -1px) scaleX(.96); opacity: .38; }
  23% { transform: translate(-2px, 1px) scaleY(1.03); opacity: .92; }
  52% { transform: translate(-4px, 0) scaleX(1.04); opacity: .44; }
  53% { transform: translate(2px, 1px) scale(.98); opacity: .86; }
  82% { transform: translate(1px, -3px) scaleY(.95); opacity: .31; }
  83% { transform: translate(-1px, 2px) scaleX(1.02); opacity: .80; }
}

@keyframes pzBrokenLightTear {
  0%, 18%, 22%, 54%, 58%, 86%, 90%, 100% { transform: translateX(0) skewX(0); opacity: .55; }
  19% { transform: translateX(8px) skewX(-9deg); opacity: .88; }
  20% { transform: translateX(-6px) skewX(7deg); opacity: .24; }
  55% { transform: translateX(-10px) skewX(11deg); opacity: .76; }
  56% { transform: translateX(5px) skewX(-5deg); opacity: .34; }
  87% { transform: translateX(7px) skewX(-8deg); opacity: .91; }
  88% { transform: translateX(-3px) skewX(4deg); opacity: .28; }
}

@keyframes pzSignalFragmentOne {
  0%, 30%, 33%, 70%, 73%, 100% { transform: translateX(0); opacity: .66; }
  31% { transform: translateX(12px); opacity: .20; }
  32% { transform: translateX(-6px); opacity: .90; }
  71% { transform: translateX(-9px); opacity: .34; }
  72% { transform: translateX(4px); opacity: .78; }
}

@keyframes pzSignalFragmentTwo {
  0%, 42%, 45%, 82%, 85%, 100% { transform: translateX(0); opacity: .58; }
  43% { transform: translateX(-13px); opacity: .88; }
  44% { transform: translateX(6px); opacity: .18; }
  83% { transform: translateX(9px); opacity: .76; }
  84% { transform: translateX(-4px); opacity: .30; }
}

@keyframes pzSignalFragmentThree {
  0%, 25%, 28%, 64%, 67%, 100% { transform: translateX(0); opacity: .42; }
  26% { transform: translateX(8px); opacity: .82; }
  27% { transform: translateX(-5px); opacity: .15; }
  65% { transform: translateX(-10px); opacity: .70; }
  66% { transform: translateX(3px); opacity: .24; }
}

@keyframes pzSignalCenterFlicker {
  0%, 3%, 47%, 50%, 89%, 92%, 100% { opacity: 1; }
  4%, 48%, 90% { opacity: .30; }
  5%, 49%, 91% { opacity: .70; }
}

@keyframes pzBrokenPortalLine {
  0%, 100% { background-position: 0 0; opacity: .78; }
  34% { background-position: 38% 0; opacity: .42; }
  67% { background-position: 82% 0; opacity: .90; }
}

@keyframes pzBloodDropFall {
  0% {
    opacity: 0;
    transform: translate3d(0, -18vh, 0) rotate(var(--pz-drop-tilt));
  }
  7% { opacity: var(--pz-drop-opacity); }
  72% { opacity: var(--pz-drop-opacity); }
  88%, 100% {
    opacity: 0;
    transform: translate3d(var(--pz-drop-drift), 124vh, 0) rotate(var(--pz-drop-tilt));
  }
}

@keyframes pzBloodEdgePulse {
  0%, 100% {
    opacity: .64;
    filter: drop-shadow(0 5px 12px rgba(var(--pz-horror-hot-rgb), .16));
  }
  50% {
    opacity: .78;
    filter: drop-shadow(0 7px 17px rgba(var(--pz-horror-hot-rgb), .25));
  }
}

@media (prefers-reduced-motion: reduce) {
  body.account-page .auth-copy h1 .auth-title-line,
  body.account-page .auth-copy h1 .auth-title-line::before,
  body.account-page .auth-copy h1 .auth-title-line::after,
  body.account-page .auth-copy h1 .auth-title-sub,
  body.account-page .auth-scan,
  body.account-page .auth-scan::before,
  body.account-page .auth-scan::after,
  .pz-broken-signal__fragment,
  .pz-account-horror-mark::after,
  .pz-blood-rain::before,
  body.account-page .auth-progress span {
    animation: none !important;
  }

  body.account-page .auth-copy h1 .auth-title-line,
  body.account-page .auth-copy h1 .auth-title-sub {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }

  .pz-blood-drop {
    display: none !important;
  }
}
