/* JukeBox CSS v4.17.2 — pages/auth.css. Generated from the consolidated presentation state. */

body.page-login .tab-bar button:hover {
  color: var(--text);
}

body.page-login .tab-content {
  display: none;
}

body.page-reset input[type=email] {
  width: 100%;
  background: #0d0d14;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: .75rem 1rem;
  color: var(--text);
  font-family: "Space Mono",monospace;
  font-size: .85rem;
  outline: none;
  transition: border-color .2s;
  margin-bottom: 1.1rem;
}

body.page-reset input[type=password] {
  width: 100%;
  background: #0d0d14;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: .75rem 1rem;
  color: var(--text);
  font-family: "Space Mono",monospace;
  font-size: .85rem;
  outline: none;
  transition: border-color .2s;
  margin-bottom: 1.1rem;
}

body.page-login .tab-content.active {
  display: block;
}

body.page-login input[type=text] {
  width: 100%;
  background: #0d0d14;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.75rem 1rem;
  color: var(--text);
  font-family: "Space Mono", monospace;
  font-size: 0.85rem;
  outline: none;
  transition: border-color 0.2s;
  margin-bottom: 1.1rem;
}

body.page-login input[type=password] {
  width: 100%;
  background: #0d0d14;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.75rem 1rem;
  color: var(--text);
  font-family: "Space Mono", monospace;
  font-size: 0.85rem;
  outline: none;
  transition: border-color 0.2s;
  margin-bottom: 1.1rem;
}

body.page-login input[type=email] {
  width: 100%;
  background: #0d0d14;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.75rem 1rem;
  color: var(--text);
  font-family: "Space Mono", monospace;
  font-size: 0.85rem;
  outline: none;
  transition: border-color 0.2s;
  margin-bottom: 1.1rem;
}

body.page-reset .btn:hover {
  opacity: .85;
}

body.page-reset .msg.success {
  background: rgba(71,255,176,.08);
  border: 1px solid rgba(71,255,176,.25);
  color: var(--green);
}

body.page-login .btn:hover {
  opacity: 0.85;
}

body.page-reset .msg.error {
  background: rgba(255,79,123,.08);
  border: 1px solid rgba(255,79,123,.3);
  color: var(--accent2);
}

body.page-login .btn:active {
  transform: scale(0.98);
}

body.page-reset .msg.info {
  background: rgba(var(--accent-rgb),.06);
  border: 1px solid rgba(var(--accent-rgb),.2);
  color: var(--accent);
}

body.page-login .btn:disabled {
  background: #3a3a2a;
  color: #6b6b50;
  cursor: not-allowed;
  opacity: 1;
}

body.page-login .flash-message {
  transition: opacity .35s ease, transform .35s ease, max-height .35s ease, margin .35s ease, padding .35s ease;
  overflow: hidden;
}

body.page-login .flash-message.is-hiding {
  opacity: 0;
  transform: translateY(-4px);
  max-height: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  border-width: 0;
}

body.page-reset .discord-modal-box .discord-icon {
  width: 48px;
  height: 48px;
  background: rgba(88,101,242,0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}

body.page-login .tfa-digits input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

body.page-login .tfa-digits input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

body.page-reset .discord-modal-box p span {
  color: var(--accent);
}

body.page-login .tfa-digits input:focus {
  border-color: var(--accent);
}

body.page-login .tfa-info {
  font-family: "Space Mono", monospace;
  font-size: 0.65rem;
  color: var(--muted);
  text-align: center;
  margin-bottom: 1.5rem;
}

body.page-reset .discord-modal-btns .btn-cancel:hover {
  border-color: var(--accent);
  color: var(--accent);
}

body.page-reset .discord-modal-btns .btn-discord:hover {
  opacity: 0.85;
}

.page-reset .auth-top-notice-host {
  width: 100%;
  max-width: 438px;
  position: relative;
  z-index: 40;
}

body.page-login .discord-modal-box .discord-icon {
  width: 48px;
  height: 48px;
  background: rgba(88,101,242,0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}

.page-reset .auth-top-notice-host:empty {
  display: none;
}

.page-reset .auth-top-notice-host .app-top-notice.notice-ready {
  margin: 0 0 18px !important;
}

body.page-login .discord-modal-box p span {
  color: var(--accent);
}

body.page-login .discord-modal-btns .btn-cancel:hover {
  border-color: var(--accent);
  color: var(--accent);
}

body.page-login .discord-modal-btns .btn-discord:hover {
  opacity: 0.85;
}

body.page-reset .discord-modal-btns .btn-cancel {
  flex: 1;
  padding: 0.65rem;
  font-family: "Space Mono", monospace;
  font-size: 0.65rem;
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s;
}

body.page-reset .discord-modal-btns .btn-discord {
  flex: 1;
  background: #5865f2;
  border: none;
  padding: 0.65rem;
  font-family: "Space Mono", monospace;
  font-size: 0.65rem;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  transition: opacity 0.2s;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.page-login .discord-modal-btns .btn-cancel {
  flex: 1;
  padding: 0.65rem;
  font-family: "Space Mono", monospace;
  font-size: 0.65rem;
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s;
}

body.page-login .discord-modal-btns .btn-discord {
  flex: 1;
  background: #5865f2;
  border: none;
  padding: 0.65rem;
  font-family: "Space Mono", monospace;
  font-size: 0.65rem;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  transition: opacity 0.2s;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.page-reset .page-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}

body.page-login .page-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}

body.page-reset .back {
  text-align: center;
  margin-top: 1.25rem;
}

body.page-login .tfa-back {
  text-align: center;
  margin-top: 1rem;
}

body.page-reset h2 {
  margin-bottom: 1.25rem;
}

body.page-reset .box-subtitle {
  font-family: "Space Mono", monospace;
  font-size: 0.68rem;
  margin-bottom: 2rem;
}

body.page-login .subtitle {
  font-family: "Space Mono", monospace;
  font-size: 0.68rem;
  margin-bottom: 2rem;
}

body.page-reset .btn {
  width: 100%;
  background: var(--accent);
  color: #0a0a0f;
  border: none;
  margin-top: .25rem;
}

body.page-login .btn {
  width: 100%;
  background: var(--accent);
  color: #0a0a0f;
  border: none;
  margin-top: 0.25rem;
}

body.page-login .tab-bar {
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}

body.page-login .tab-bar button {
  flex: 1;
  border-bottom: 2px solid transparent;
  padding: 0.6rem 0;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
}

body.page-login .tab-bar button.active {
  border-bottom-color: var(--accent);
}

body.page-reset .msg {
  margin-bottom: 1.25rem;
}

body.page-login .tfa-digits {
  display: flex;
  justify-content: center;
  margin-bottom: 1.25rem;
}

body.page-login .tfa-digits input {
  width: 2.5rem;
  height: 3rem;
  font-family: "Space Mono", monospace;
  font-weight: 700;
  background: #0d0d14;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--accent);
  outline: none;
  padding: 0;
  margin: 0;
  transition: border-color 0.2s;
  -moz-appearance: textfield;
}

body.page-reset #discord-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 999;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

body.page-reset .discord-modal-box h3 {
  font-weight: 800;
  margin-bottom: 0.5rem;
}

body.page-reset .discord-modal-box p {
  margin-bottom: 1.5rem;
}

body.page-login .error {
  margin-bottom: 1.25rem;
}

body.page-login .bye {
  margin-bottom: 1.25rem;
}

body.page-login .reg-success {
  margin-bottom: 1.25rem;
}

body.page-login #discord-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 999;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

body.page-login .discord-modal-box h3 {
  font-weight: 800;
  margin-bottom: 0.5rem;
}

body.page-login .discord-modal-box p {
  margin-bottom: 1.5rem;
}

body.page-reset .box {
  padding: 2.5rem 2rem;
  width: 100%;
  max-width: 380px;
  animation: fadeUp 0.35s ease;
}

body.page-reset .discord-modal-box {
  max-width: 340px;
}

.page-login .page-wrap {
  max-width: 438px !important;
  width: min(100% - 32px, 438px) !important;
  padding: 50px 0 34px !important;
}

.page-login .auth-top-notice-host {
  width: 100% !important;
  max-width: 438px !important;
  position: relative !important;
  z-index: 40 !important;
}

.page-login .auth-top-notice-host:empty {
  display: none !important;
}

.page-login .auth-top-notice-host .app-top-notice.notice-ready {
  margin: 0 0 18px !important;
}

.page-login .card {
  max-width: 438px !important;
  width: 100% !important;
  padding: 2.1rem 1.7rem !important;
  border-radius: 18px !important;
  overflow: visible !important;
  isolation: isolate !important;
  background: linear-gradient(180deg, rgb(16,18,26), rgb(13,15,22)) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.32) !important;
  --orb1: .54;
  --orb2: .48;
  --orb3: .66;
  --orb4: .38;
  --orb5: .58;
  --orb6: .43;
  --orb7: .69;
  --orb8: .36;
  --orb9: .61;
  --orb10: .46;
  --coreinner: 24%;
  --coreouter: 31%;
  --corefade: 41%;
  --coresoft: 27%;
  --coresoftfade: 41%;
  --corealphastrong: .88;
  --corealphamid: .24;
  --corealphasoft: .28;
  animation: loginOrbOpacity1 18s ease-in-out infinite,
      loginOrbOpacity2 23s ease-in-out infinite,
      loginOrbOpacity3 21s ease-in-out infinite,
      loginOrbOpacity4 27s ease-in-out infinite,
      loginOrbOpacity5 19s ease-in-out infinite,
      loginOrbOpacity6 25s ease-in-out infinite,
      loginOrbOpacity7 22s ease-in-out infinite,
      loginOrbOpacity8 29s ease-in-out infinite,
      loginOrbOpacity9 20s ease-in-out infinite,
      loginOrbOpacity10 26s ease-in-out infinite,
      loginCorePulse 18s ease-in-out infinite,
      loginCoreColor 28s ease-in-out infinite;
}

.page-login .card::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 480px;
  height: 480px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;
  z-index: -2;
  background: radial-gradient(circle at 50% 50%, rgba(104,162,255, var(--coreAlphaStrong)) 0 var(--coreInner), rgba(104,162,255, var(--coreAlphaMid)) var(--coreOuter), transparent var(--coreFade)),
      radial-gradient(circle at 50% 12%, rgba(84,235,227, calc(.84 * var(--orb1))) 0 5.8%, rgba(84,235,227, calc(.22 * var(--orb1))) 9.8%, transparent 16%),
      radial-gradient(circle at 74% 18%, rgba(255,116,188, calc(.82 * var(--orb2))) 0 5.8%, rgba(255,116,188, calc(.20 * var(--orb2))) 9.8%, transparent 16%),
      radial-gradient(circle at 88% 38%, rgba(181,122,255, calc(.82 * var(--orb3))) 0 5.8%, rgba(181,122,255, calc(.20 * var(--orb3))) 9.8%, transparent 16%),
      radial-gradient(circle at 88% 62%, rgba(104,162,255, calc(.84 * var(--orb4))) 0 5.8%, rgba(104,162,255, calc(.22 * var(--orb4))) 9.8%, transparent 16%),
      radial-gradient(circle at 74% 82%, rgba(84,235,227, calc(.82 * var(--orb5))) 0 5.8%, rgba(84,235,227, calc(.20 * var(--orb5))) 9.8%, transparent 16%),
      radial-gradient(circle at 50% 88%, rgba(255,116,188, calc(.82 * var(--orb6))) 0 5.8%, rgba(255,116,188, calc(.20 * var(--orb6))) 9.8%, transparent 16%),
      radial-gradient(circle at 26% 82%, rgba(181,122,255, calc(.80 * var(--orb7))) 0 5.8%, rgba(181,122,255, calc(.19 * var(--orb7))) 9.8%, transparent 16%),
      radial-gradient(circle at 12% 62%, rgba(104,162,255, calc(.82 * var(--orb8))) 0 5.8%, rgba(104,162,255, calc(.20 * var(--orb8))) 9.8%, transparent 16%),
      radial-gradient(circle at 12% 38%, rgba(84,235,227, calc(.82 * var(--orb9))) 0 5.8%, rgba(84,235,227, calc(.20 * var(--orb9))) 9.8%, transparent 16%),
      radial-gradient(circle at 26% 18%, rgba(255,116,188, calc(.82 * var(--orb10))) 0 5.8%, rgba(255,116,188, calc(.20 * var(--orb10))) 9.8%, transparent 16%);
  filter: blur(17px) saturate(1.08) hue-rotate(0deg);
  opacity: .52;
  animation: loginOrbSpin 24.2s linear infinite, loginOrbHue 24s ease-in-out infinite alternate, loginOuterGlowPulse 17s ease-in-out infinite;
}

.page-login .card::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 480px;
  height: 480px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;
  z-index: -3;
  background: radial-gradient(circle at 50% 50%, rgba(104,162,255, var(--coreAlphaSoft)) 0 var(--coreSoft), transparent var(--coreSoftFade)),
      radial-gradient(circle at 50% 12%, rgba(84,235,227, calc(.22 * var(--orb1))) 0 7.4%, transparent 15.5%),
      radial-gradient(circle at 74% 18%, rgba(255,116,188, calc(.22 * var(--orb2))) 0 7.4%, transparent 15.5%),
      radial-gradient(circle at 88% 38%, rgba(181,122,255, calc(.22 * var(--orb3))) 0 7.4%, transparent 15.5%),
      radial-gradient(circle at 88% 62%, rgba(104,162,255, calc(.24 * var(--orb4))) 0 7.4%, transparent 15.5%),
      radial-gradient(circle at 74% 82%, rgba(84,235,227, calc(.22 * var(--orb5))) 0 7.4%, transparent 15.5%),
      radial-gradient(circle at 50% 88%, rgba(255,116,188, calc(.22 * var(--orb6))) 0 7.4%, transparent 15.5%),
      radial-gradient(circle at 26% 82%, rgba(181,122,255, calc(.20 * var(--orb7))) 0 7.4%, transparent 15.5%),
      radial-gradient(circle at 12% 62%, rgba(104,162,255, calc(.22 * var(--orb8))) 0 7.4%, transparent 15.5%),
      radial-gradient(circle at 12% 38%, rgba(84,235,227, calc(.22 * var(--orb9))) 0 7.4%, transparent 15.5%),
      radial-gradient(circle at 26% 18%, rgba(255,116,188, calc(.22 * var(--orb10))) 0 7.4%, transparent 15.5%);
  filter: blur(33px) saturate(1.04) hue-rotate(0deg);
  opacity: .46;
  animation: loginOrbSpinReverse 33.88s linear infinite, loginOrbHue 30s ease-in-out infinite alternate-reverse, loginOuterGlowPulseSoft 21s ease-in-out infinite;
}

.page-login .logo {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  margin: 0 auto 2rem !important;
  gap: 0 !important;
}

.page-login .page-login-logo {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  margin: 0 auto 2rem !important;
  gap: 0 !important;
}

.page-login .logo-eq {
  margin-right: 10px !important;
}

.page-login .subtitle {
  text-align: center !important;
}

.page-login .tfa-info {
  text-align: center !important;
}

.page-login .tfa-back {
  text-align: center !important;
}

.page-login input[type=text] {
  width: 100% !important;
  max-width: 100% !important;
}

.page-login input[type=password] {
  width: 100% !important;
  max-width: 100% !important;
}

.page-login input[type=email] {
  width: 100% !important;
  max-width: 100% !important;
}

.page-login .tab-panels {
  position: relative;
  min-height: 0;
  transition: height .56s cubic-bezier(.22,.61,.36,1);
}

.page-login .tab-panels.is-switching {
  overflow: hidden;
}

.page-login .tab-content {
  display: block !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  transform: translate3d(26px,0,0) scale(.986);
  transform-origin: center top;
  will-change: transform, opacity;
  backface-visibility: hidden;
  transition: opacity .56s cubic-bezier(.22,.61,.36,1), transform .56s cubic-bezier(.22,.61,.36,1), visibility 0s linear .56s;
}

.page-login .tab-content.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  position: relative;
  inset: auto;
  transform: translate3d(0,0,0) scale(1);
  transition-delay: 0s;
  z-index: 2;
}

.page-login .tab-panels.is-switching .tab-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
}

.page-login .tab-panels.is-switching .tab-content.active {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
}

.page-login .tab-content.is-entering-left {
  visibility: visible;
  transform: translate3d(-26px,0,0) scale(.986);
}

.page-login .tab-content.is-entering-right {
  visibility: visible;
  transform: translate3d(26px,0,0) scale(.986);
}

.page-login .tab-content.is-exiting-left {
  opacity: 0;
  transform: translate3d(-26px,0,0) scale(.986);
}

.page-login .tab-content.is-exiting-right {
  opacity: 0;
  transform: translate3d(26px,0,0) scale(.986);
}

.page-login .tfa-digits {
  gap: .52rem !important;
  justify-content: center !important;
  margin-bottom: 1.25rem !important;
}

.page-login .tfa-digits input {
  width: 2.95rem !important;
  min-width: 2.95rem !important;
  height: 3.25rem !important;
  min-height: 3.25rem !important;
  font-size: 1.12rem !important;
  border-radius: 10px !important;
}

body.page-login .discord-modal-box {
  max-width: 340px;
  animation: fadeUp 0.25s ease;
}

body.page-login {
  background: var(--ui-bg) !important;
  background-image: none !important;
}

@media (min-width: 761px) {
  body.page-login:not(.history-embed):not(.history-layout-split) > .page-wrap {
    min-height: calc(100vh - var(--jb-footer-height)) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    justify-content: center !important;
  }
}

body.page-login .card {
  padding: 2.5rem 2rem;
  width: 100%;
  max-width: 380px;
  position: relative;
  animation: fadeUp 0.35s ease;
  box-shadow: none !important;
}

@media (max-width: 560px) {
  .page-login .page-wrap {
    width: min(100% - 24px, 410px) !important;
    padding-top: 36px !important;
  }

  .page-login .card {
    max-width: none !important;
    padding: 1.85rem 1.1rem !important;
  }

  .page-login .card::before {
    width: 400px;
    height: 400px;
    filter: blur(14px) saturate(1.05);
    opacity: .66;
  }

  .page-login .card::after {
    width: 400px;
    height: 400px;
    filter: blur(26px) saturate(1.02);
    opacity: .42;
  }

  .page-login .tab-content {
    transform: translate3d(20px,0,0) scale(.988);
  }

  .page-login .tab-content.is-entering-right {
    transform: translate3d(20px,0,0) scale(.988);
  }

  .page-login .tab-content.is-exiting-right {
    transform: translate3d(20px,0,0) scale(.988);
  }

  .page-login .tab-content.is-entering-left {
    transform: translate3d(-20px,0,0) scale(.988);
  }

  .page-login .tab-content.is-exiting-left {
    transform: translate3d(-20px,0,0) scale(.988);
  }

  .page-login .tfa-digits {
    gap: .4rem !important;
  }

  .page-login .tfa-digits input {
    width: 2.62rem !important;
    min-width: 2.62rem !important;
    height: 2.95rem !important;
    min-height: 2.95rem !important;
    font-size: 1.02rem !important;
  }

}

/* Page-local at-rules */
@keyframes fadeUp{
    from { opacity:0; transform: translateY(16px); }
    to   { opacity:1; transform: translateY(0); }
  }

@property --orb1{ syntax: "<number>"; inherits: true; initial-value: .54; }

@property --orb2{ syntax: "<number>"; inherits: true; initial-value: .48; }

@property --orb3{ syntax: "<number>"; inherits: true; initial-value: .66; }

@property --orb4{ syntax: "<number>"; inherits: true; initial-value: .38; }

@property --orb5{ syntax: "<number>"; inherits: true; initial-value: .58; }

@property --orb6{ syntax: "<number>"; inherits: true; initial-value: .43; }

@property --orb7{ syntax: "<number>"; inherits: true; initial-value: .69; }

@property --orb8{ syntax: "<number>"; inherits: true; initial-value: .36; }

@property --orb9{ syntax: "<number>"; inherits: true; initial-value: .61; }

@property --orb10{ syntax: "<number>"; inherits: true; initial-value: .46; }

@property --coreInner{ syntax: "<percentage>"; inherits: true; initial-value: 24%; }

@property --coreOuter{ syntax: "<percentage>"; inherits: true; initial-value: 31%; }

@property --coreFade{ syntax: "<percentage>"; inherits: true; initial-value: 41%; }

@property --coreSoft{ syntax: "<percentage>"; inherits: true; initial-value: 27%; }

@property --coreSoftFade{ syntax: "<percentage>"; inherits: true; initial-value: 41%; }

@property --coreAlphaStrong{ syntax: "<number>"; inherits: true; initial-value: .88; }

@property --coreAlphaMid{ syntax: "<number>"; inherits: true; initial-value: .24; }

@property --coreAlphaSoft{ syntax: "<number>"; inherits: true; initial-value: .28; }

@keyframes loginOrbSpin{
    0% { transform: translate(calc(-50% - 2px), calc(-50% - 1px)) rotate(0deg) scale(.985); }
    16% { transform: translate(calc(-50% + 3px), calc(-50% - 3px)) rotate(58deg) scale(1.006); }
    33% { transform: translate(calc(-50% + 1px), calc(-50% + 4px)) rotate(118deg) scale(1.018); }
    50% { transform: translate(calc(-50% - 4px), calc(-50% + 1px)) rotate(180deg) scale(1.028); }
    68% { transform: translate(calc(-50% + 4px), calc(-50% + 3px)) rotate(244deg) scale(1.012); }
    84% { transform: translate(calc(-50% - 1px), calc(-50% - 4px)) rotate(302deg) scale(.996); }
    100% { transform: translate(calc(-50% - 2px), calc(-50% - 1px)) rotate(360deg) scale(.985); }
  }

@keyframes loginOrbSpinReverse{
    0% { transform: translate(calc(-50% + 3px), calc(-50% - 2px)) rotate(360deg) scale(1.01); }
    18% { transform: translate(calc(-50% - 3px), calc(-50% + 2px)) rotate(294deg) scale(.996); }
    34% { transform: translate(calc(-50% + 2px), calc(-50% + 4px)) rotate(228deg) scale(.988); }
    50% { transform: translate(calc(-50% - 4px), calc(-50% - 1px)) rotate(180deg) scale(.982); }
    66% { transform: translate(calc(-50% + 1px), calc(-50% - 4px)) rotate(122deg) scale(.992); }
    82% { transform: translate(calc(-50% + 4px), calc(-50% + 1px)) rotate(62deg) scale(1.006); }
    100% { transform: translate(calc(-50% + 3px), calc(-50% - 2px)) rotate(0deg) scale(1.01); }
  }

@keyframes loginOrbHue{
    0% { filter: blur(17px) saturate(1.08) hue-rotate(-10deg); }
    20% { filter: blur(18px) saturate(1.10) hue-rotate(6deg); }
    40% { filter: blur(19px) saturate(1.12) hue-rotate(16deg); }
    60% { filter: blur(20px) saturate(1.13) hue-rotate(28deg); }
    80% { filter: blur(18px) saturate(1.10) hue-rotate(12deg); }
    100% { filter: blur(17px) saturate(1.08) hue-rotate(-10deg); }
  }

@keyframes loginOuterGlowPulse{
    0% { opacity: .34; }
    14% { opacity: .58; }
    31% { opacity: .36; }
    48% { opacity: .69; }
    63% { opacity: .37; }
    82% { opacity: .61; }
    100% { opacity: .34; }
  }

@keyframes loginOuterGlowPulseSoft{
    0% { opacity: .30; }
    19% { opacity: .49; }
    36% { opacity: .48; }
    54% { opacity: .38; }
    73% { opacity: .57; }
    89% { opacity: .33; }
    100% { opacity: .30; }
  }

@keyframes loginCorePulse{
    0% {
      --coreInner: 24%;
      --coreOuter: 31%;
      --coreFade: 41%;
      --coreSoft: 27%;
      --coreSoftFade: 41%;
    }
    50% {
      --coreInner: 36%;
      --coreOuter: 46%;
      --coreFade: 58%;
      --coreSoft: 41%;
      --coreSoftFade: 58%;
    }
    100% {
      --coreInner: 24%;
      --coreOuter: 31%;
      --coreFade: 41%;
      --coreSoft: 27%;
      --coreSoftFade: 41%;
    }
  }

@keyframes loginCoreColor{
    0% {
      --coreAlphaStrong: .84;
      --coreAlphaMid: .22;
      --coreAlphaSoft: .26;
    }
    25% {
      --coreAlphaStrong: .92;
      --coreAlphaMid: .28;
      --coreAlphaSoft: .32;
    }
    50% {
      --coreAlphaStrong: .86;
      --coreAlphaMid: .24;
      --coreAlphaSoft: .30;
    }
    75% {
      --coreAlphaStrong: .94;
      --coreAlphaMid: .30;
      --coreAlphaSoft: .34;
    }
    100% {
      --coreAlphaStrong: .84;
      --coreAlphaMid: .22;
      --coreAlphaSoft: .26;
    }
  }

@keyframes loginOrbOpacity1{
    0% { --orb1: .36; }
    18% { --orb1: .63; }
    42% { --orb1: .34; }
    67% { --orb1: .70; }
    100% { --orb1: .36; }
  }

@keyframes loginOrbOpacity2{
    0% { --orb2: .68; }
    22% { --orb2: .39; }
    48% { --orb2: .57; }
    71% { --orb2: .31; }
    100% { --orb2: .68; }
  }

@keyframes loginOrbOpacity3{
    0% { --orb3: .45; }
    16% { --orb3: .70; }
    37% { --orb3: .32; }
    63% { --orb3: .55; }
    100% { --orb3: .45; }
  }

@keyframes loginOrbOpacity4{
    0% { --orb4: .61; }
    20% { --orb4: .33; }
    46% { --orb4: .69; }
    76% { --orb4: .40; }
    100% { --orb4: .61; }
  }

@keyframes loginOrbOpacity5{
    0% { --orb5: .34; }
    28% { --orb5: .59; }
    51% { --orb5: .37; }
    74% { --orb5: .66; }
    100% { --orb5: .34; }
  }

@keyframes loginOrbOpacity6{
    0% { --orb6: .56; }
    14% { --orb6: .35; }
    39% { --orb6: .67; }
    66% { --orb6: .42; }
    100% { --orb6: .56; }
  }

@keyframes loginOrbOpacity7{
    0% { --orb7: .39; }
    19% { --orb7: .65; }
    44% { --orb7: .31; }
    70% { --orb7: .58; }
    100% { --orb7: .39; }
  }

@keyframes loginOrbOpacity8{
    0% { --orb8: .70; }
    24% { --orb8: .36; }
    47% { --orb8: .52; }
    73% { --orb8: .30; }
    100% { --orb8: .70; }
  }

@keyframes loginOrbOpacity9{
    0% { --orb9: .33; }
    17% { --orb9: .56; }
    41% { --orb9: .69; }
    68% { --orb9: .35; }
    100% { --orb9: .33; }
  }

@keyframes loginOrbOpacity10{
    0% { --orb10: .62; }
    21% { --orb10: .34; }
    49% { --orb10: .60; }
    75% { --orb10: .38; }
    100% { --orb10: .62; }
  }

/* Page-local at-rules */
@keyframes fadeUp{
    from { opacity:0; transform: translateY(16px); }
    to   { opacity:1; transform: translateY(0); }
  }
/* E-mail verification */
body.page-verify {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: var(--ui-bg);
  color: var(--ui-text, #ececf2);
  font-family: var(--ui-font);
}
body.page-verify .card {
  width: min(100%, 520px);
  padding: 28px;
  border: 1px solid var(--ui-border, #2a2a38);
  border-radius: 18px;
  background: var(--ui-panel, #111118);
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
}
body.page-verify h1 { font-size: 1.15rem; margin: 0 0 14px; }
body.page-verify .message { padding: 14px 15px; border-radius: 12px; font-size: .9rem; line-height: 1.55; }
body.page-verify .message.success {
  color: var(--accent);
  background: color-mix(in srgb,var(--accent) 8%,transparent);
  border: 1px solid color-mix(in srgb,var(--accent) 24%,transparent);
}
body.page-verify .message.error { color: #ff9db2; background: rgba(255,107,139,.07); border: 1px solid rgba(255,107,139,.2); }
body.page-verify .actions { display: flex; justify-content: flex-end; margin-top: 20px; }
body.page-verify .btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 8px 15px;
  border-radius: 10px; background: var(--accent); color: #0a0a0f; text-decoration: none; font-size: .82rem; font-weight: 750;
}

