:root {
  color-scheme: dark;
  --auth-bg: #05060d;
  --auth-surface: rgba(13, 16, 29, .78);
  --auth-surface-strong: rgba(17, 20, 36, .94);
  --auth-border: rgba(190, 174, 255, .16);
  --auth-border-hover: rgba(166, 111, 255, .48);
  --auth-text: #f7f5ff;
  --auth-muted: #a7a4b8;
  --auth-subtle: #747185;
  --auth-violet: #9b5cff;
  --auth-magenta: #dc64ff;
  --auth-cyan: #52d8ff;
  --auth-green: #59e0a7;
  --auth-red: #ff748f;
  --auth-yellow: #ffc96d;
  --auth-shadow: 0 32px 90px rgba(0, 0, 0, .48);
  --auth-radius: 28px;
  --auth-ease: cubic-bezier(.2, .8, .2, 1);
}

* { box-sizing: border-box; }

html { min-height: 100%; scroll-behavior: smooth; }

body.auth-page {
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  color: var(--auth-text);
  background:
    radial-gradient(circle at 16% 12%, rgba(126, 73, 255, .18), transparent 33rem),
    radial-gradient(circle at 88% 80%, rgba(45, 194, 255, .11), transparent 31rem),
    linear-gradient(145deg, #070812 0%, #05060d 54%, #090712 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

body.auth-page::before {
  position: fixed;
  inset: 0;
  z-index: -4;
  content: "";
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, .026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .026) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, black, transparent 84%);
}

button, input { font: inherit; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.auth-skip {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 100;
  padding: 10px 14px;
  border-radius: 10px;
  color: #0b0714;
  background: #fff;
  transform: translateY(-160%);
  transition: transform .2s ease;
}
.auth-skip:focus { transform: translateY(0); }

.auth-backdrop {
  position: fixed;
  inset: 0;
  z-index: -3;
  overflow: hidden;
  pointer-events: none;
}

.auth-backdrop__aurora {
  position: absolute;
  width: 44rem;
  height: 44rem;
  border-radius: 50%;
  filter: blur(96px);
  opacity: .18;
  animation: auth-drift 16s ease-in-out infinite alternate;
}
.auth-backdrop__aurora--violet { top: -22rem; right: -13rem; background: #a34dff; }
.auth-backdrop__aurora--cyan { bottom: -27rem; left: -15rem; background: #2dceff; animation-delay: -7s; }

.auth-backdrop__noise {
  position: absolute;
  inset: 0;
  opacity: .16;
  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='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

.auth-topbar {
  width: min(1440px, calc(100% - 40px));
  min-height: 84px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.auth-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  font-weight: 850;
  letter-spacing: -.03em;
}

.auth-brand__mark {
  position: relative;
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(190, 160, 255, .34);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(163, 91, 255, .28), rgba(65, 37, 120, .3));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 10px 28px rgba(113, 60, 220, .2);
}

.auth-brand__mark::before {
  width: 15px;
  height: 15px;
  content: "";
  border: 2px solid #c996ff;
  transform: rotate(45deg);
  box-shadow: 5px 5px 0 -2px #5bd8ff;
}

.auth-brand__word { font-size: 1.05rem; }
.auth-brand__word span { color: #b875ff; }

.auth-topbar__actions { display: flex; align-items: center; gap: 10px; }

.auth-toplink,
.auth-switch {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: var(--auth-muted);
  text-decoration: none;
  font-size: .88rem;
  font-weight: 750;
  transition: .24s var(--auth-ease);
}
.auth-toplink:hover { color: #fff; background: rgba(255, 255, 255, .05); }
.auth-switch {
  color: #f9f5ff;
  border-color: rgba(177, 127, 255, .25);
  background: rgba(139, 77, 245, .12);
}
.auth-switch:hover { border-color: rgba(177, 127, 255, .5); background: rgba(139, 77, 245, .2); transform: translateY(-1px); }

.auth-layout {
  width: min(1240px, calc(100% - 40px));
  min-height: calc(100vh - 158px);
  margin: 0 auto;
  padding: 34px 0 64px;
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(420px, .82fr);
  align-items: center;
  gap: clamp(42px, 7vw, 112px);
}

.auth-story { position: relative; padding: 24px 0; }

.auth-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 22px;
  color: #c9b0f4;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.auth-eyebrow::before {
  width: 8px;
  height: 8px;
  content: "";
  border-radius: 50%;
  background: var(--auth-green);
  box-shadow: 0 0 18px rgba(89, 224, 167, .8);
}

.auth-story h1 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(3.1rem, 6vw, 6.25rem);
  line-height: .91;
  letter-spacing: -.07em;
}
.auth-story h1 span {
  display: block;
  color: transparent;
  background: linear-gradient(100deg, #a461ff 5%, #e886ff 45%, #62ddff 92%);
  background-clip: text;
  -webkit-background-clip: text;
}

.auth-story__lead {
  max-width: 620px;
  margin: 28px 0 0;
  color: var(--auth-muted);
  font-size: clamp(1rem, 1.4vw, 1.14rem);
  line-height: 1.75;
}

.auth-world {
  position: relative;
  height: 290px;
  margin-top: 30px;
  overflow: hidden;
  border: 1px solid rgba(188, 161, 255, .14);
  border-radius: 28px;
  background:
    radial-gradient(circle at 48% 38%, rgba(164, 95, 255, .2), transparent 29%),
    linear-gradient(160deg, rgba(25, 28, 48, .8), rgba(8, 9, 18, .82));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 30px 80px rgba(0, 0, 0, .28);
}
.auth-world::before {
  position: absolute;
  inset: auto 6% 18% 6%;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(112, 216, 255, .54), transparent);
  box-shadow: 0 0 30px rgba(87, 205, 255, .46);
}

.auth-orbit {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 210px;
  height: 82px;
  border: 1px solid rgba(178, 130, 255, .46);
  border-radius: 50%;
  transform: translate(-50%, -50%) rotate(-12deg);
  box-shadow: 0 0 34px rgba(135, 81, 240, .16);
  animation: auth-orbit 9s linear infinite;
}
.auth-orbit--two { width: 274px; height: 112px; opacity: .42; animation-duration: 13s; animation-direction: reverse; }

.auth-cube {
  position: absolute;
  left: 50%;
  top: 48%;
  width: 92px;
  height: 92px;
  border: 1px solid rgba(220, 191, 255, .6);
  border-radius: 21px;
  background:
    linear-gradient(145deg, rgba(209, 152, 255, .25), rgba(105, 56, 215, .08)),
    linear-gradient(45deg, transparent 48%, rgba(255,255,255,.16) 49%, transparent 51%);
  transform: translate(-50%, -50%) rotate(45deg);
  box-shadow: inset 0 0 30px rgba(183, 102, 255, .2), 0 0 55px rgba(149, 78, 255, .26);
  animation: auth-float 4.8s ease-in-out infinite;
}
.auth-cube::before {
  position: absolute;
  inset: 26px;
  content: "";
  border: 1px solid rgba(102, 222, 255, .7);
  border-radius: 7px;
  box-shadow: 0 0 22px rgba(78, 210, 255, .45);
}

.auth-world__chip {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 13px;
  color: #d8d5e5;
  background: rgba(7, 8, 17, .7);
  backdrop-filter: blur(12px);
  font-size: .75rem;
  font-weight: 750;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .25);
}
.auth-world__chip::before { width: 7px; height: 7px; content: ""; border-radius: 50%; background: var(--auth-cyan); box-shadow: 0 0 11px rgba(82,216,255,.8); }
.auth-world__chip--one { top: 24px; left: 24px; }
.auth-world__chip--two { right: 24px; bottom: 24px; }
.auth-world__chip--two::before { background: var(--auth-green); box-shadow: 0 0 11px rgba(89,224,167,.8); }

.auth-card-wrap { position: relative; }
.auth-card-wrap::before {
  position: absolute;
  inset: -1px;
  z-index: -1;
  content: "";
  border-radius: calc(var(--auth-radius) + 1px);
  background: linear-gradient(145deg, rgba(185, 135, 255, .3), rgba(255,255,255,.04) 45%, rgba(76, 208, 255, .16));
  filter: blur(.2px);
}

.auth-card {
  position: relative;
  padding: clamp(27px, 4vw, 44px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: var(--auth-radius);
  background: linear-gradient(160deg, rgba(18, 20, 35, .94), rgba(9, 10, 20, .96));
  box-shadow: var(--auth-shadow), inset 0 1px 0 rgba(255, 255, 255, .06);
  backdrop-filter: blur(28px);
}
.auth-card::after {
  position: absolute;
  top: -140px;
  right: -120px;
  width: 290px;
  height: 290px;
  content: "";
  border-radius: 50%;
  background: rgba(151, 82, 255, .13);
  filter: blur(70px);
  pointer-events: none;
}

.auth-card__step {
  position: relative;
  z-index: 1;
  margin: 0 0 13px;
  color: #b38bff;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.auth-card h2 { position: relative; z-index: 1; margin: 0; font-size: clamp(1.75rem, 3vw, 2.35rem); letter-spacing: -.045em; }
.auth-card__intro { position: relative; z-index: 1; margin: 12px 0 28px; color: var(--auth-muted); font-size: .93rem; line-height: 1.65; }

.auth-form { position: relative; z-index: 2; display: grid; gap: 17px; }
.auth-field { display: grid; gap: 8px; }
.auth-field__row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.auth-label { color: #e9e6f2; font-size: .79rem; font-weight: 780; }
.auth-label__hint { color: var(--auth-subtle); font-size: .68rem; font-weight: 650; }

.auth-control { position: relative; }
.auth-control__icon {
  position: absolute;
  left: 15px;
  top: 50%;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: #8e8a9d;
  transform: translateY(-50%);
  pointer-events: none;
}
.auth-control__icon svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.8; }

.auth-input {
  width: 100%;
  min-height: 54px;
  padding: 0 48px 0 46px;
  border: 1px solid rgba(255, 255, 255, .095);
  border-radius: 14px;
  outline: 0;
  color: #fff;
  background: rgba(4, 5, 13, .7);
  caret-color: #b775ff;
  font-size: .92rem;
  transition: border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.auth-input::placeholder { color: #5f5c6c; }
.auth-input:hover { border-color: rgba(184, 145, 255, .24); }
.auth-input:focus { border-color: rgba(177, 112, 255, .68); background: rgba(7, 7, 17, .88); box-shadow: 0 0 0 4px rgba(145, 84, 255, .11), 0 12px 32px rgba(0,0,0,.14); }
.auth-input:-webkit-autofill { -webkit-text-fill-color: #fff; transition: background-color 9999s; box-shadow: 0 0 0 1000px #090a15 inset; }
.auth-field.is-invalid .auth-input { border-color: rgba(255, 116, 143, .65); box-shadow: 0 0 0 4px rgba(255, 116, 143, .08); }

.auth-input-action {
  position: absolute;
  right: 7px;
  top: 50%;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 10px;
  color: #8e8a9d;
  background: transparent;
  transform: translateY(-50%);
  cursor: pointer;
}
.auth-input-action:hover { color: #fff; background: rgba(255,255,255,.05); }
.auth-input-action svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.8; }

.auth-field-error { min-height: 0; margin: 0; color: var(--auth-red); font-size: .72rem; line-height: 1.45; }
.auth-field-error:empty { display: none; }
.auth-help { margin: -1px 0 0; color: var(--auth-subtle); font-size: .7rem; line-height: 1.5; }

.auth-options { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.auth-check { position: relative; display: inline-flex; align-items: flex-start; gap: 10px; color: var(--auth-muted); font-size: .77rem; line-height: 1.5; cursor: pointer; }
.auth-check input { position: absolute; opacity: 0; pointer-events: none; }
.auth-check__box {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 5px;
  background: rgba(0,0,0,.22);
  transition: .2s ease;
}
.auth-check__box::after { width: 8px; height: 4px; content: ""; border-left: 2px solid #fff; border-bottom: 2px solid #fff; opacity: 0; transform: rotate(-45deg) translateY(-1px); }
.auth-check input:checked + .auth-check__box { border-color: #ad6cff; background: linear-gradient(135deg, #8b4eff, #c458ed); box-shadow: 0 0 16px rgba(156, 88, 255, .3); }
.auth-check input:checked + .auth-check__box::after { opacity: 1; }
.auth-check input:focus-visible + .auth-check__box { outline: 3px solid rgba(148, 89, 255, .22); }
.auth-check a { color: #c8a7ff; text-decoration: none; }
.auth-check a:hover { text-decoration: underline; }
.auth-link { color: #c5a2ff; text-decoration: none; font-size: .76rem; font-weight: 720; }
.auth-link:hover { color: #e0cbff; text-decoration: underline; }

.auth-submit {
  position: relative;
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 3px;
  padding: 0 22px;
  overflow: hidden;
  border: 1px solid rgba(222, 188, 255, .28);
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(100deg, #7541e8, #a84cff 54%, #7a55f6);
  box-shadow: 0 15px 38px rgba(126, 61, 234, .26), inset 0 1px 0 rgba(255,255,255,.25);
  font-size: .9rem;
  font-weight: 850;
  cursor: pointer;
  transition: transform .22s var(--auth-ease), box-shadow .22s ease, filter .22s ease;
}
.auth-submit::before { position: absolute; inset: 0; content: ""; background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.23) 48%, transparent 72%); transform: translateX(-130%); transition: transform .65s ease; }
.auth-submit:hover:not(:disabled) { transform: translateY(-2px); filter: saturate(1.12); box-shadow: 0 20px 48px rgba(126, 61, 234, .34), inset 0 1px 0 rgba(255,255,255,.25); }
.auth-submit:hover:not(:disabled)::before { transform: translateX(130%); }
.auth-submit:disabled { opacity: .68; cursor: wait; }
.auth-submit__icon { font-size: 1.1rem; transition: transform .2s ease; }
.auth-submit:hover .auth-submit__icon { transform: translateX(3px); }
.auth-submit.is-loading .auth-submit__icon { width: 17px; height: 17px; border: 2px solid rgba(255,255,255,.34); border-top-color: #fff; border-radius: 50%; font-size: 0; animation: auth-spin .8s linear infinite; }

.auth-message {
  display: none;
  padding: 12px 13px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: .77rem;
  line-height: 1.55;
}
.auth-message:not(:empty) { display: block; }
.auth-message.is-error { color: #ffdbe2; border-color: rgba(255, 116, 143, .25); background: rgba(255, 86, 119, .08); }
.auth-message.is-success { color: #d8ffed; border-color: rgba(89, 224, 167, .22); background: rgba(64, 201, 143, .08); }
.auth-message.is-info { color: #e9ddff; border-color: rgba(167, 108, 255, .24); background: rgba(146, 78, 255, .08); }

.auth-alt { margin: 3px 0 0; color: var(--auth-subtle); text-align: center; font-size: .79rem; }
.auth-alt a { color: #c8a7ff; text-decoration: none; font-weight: 780; }
.auth-alt a:hover { text-decoration: underline; }

.auth-twofactor {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(159, 104, 255, .22);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(136, 76, 233, .1), rgba(70, 199, 255, .045));
}
.auth-twofactor[hidden] { display: none; }
.auth-twofactor__head { display: flex; align-items: center; gap: 11px; }
.auth-twofactor__badge { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: #dcc8ff; background: rgba(151, 94, 255, .16); }
.auth-twofactor strong { display: block; font-size: .79rem; }
.auth-twofactor p { margin: 3px 0 0; color: var(--auth-muted); font-size: .69rem; line-height: 1.45; }

.auth-password-meter { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin-top: 1px; }
.auth-password-meter span { height: 3px; border-radius: 99px; background: rgba(255,255,255,.08); transition: background .22s ease, box-shadow .22s ease; }
.auth-password-meter[data-score="1"] span:nth-child(-n+1) { background: var(--auth-red); }
.auth-password-meter[data-score="2"] span:nth-child(-n+2) { background: var(--auth-yellow); }
.auth-password-meter[data-score="3"] span:nth-child(-n+3) { background: #a9d86e; }
.auth-password-meter[data-score="4"] span:nth-child(-n+4) { background: var(--auth-green); box-shadow: 0 0 8px rgba(89,224,167,.25); }

.auth-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.auth-trust__item { min-width: 0; color: var(--auth-subtle); font-size: .64rem; line-height: 1.45; text-align: center; }
.auth-trust__item strong { display: block; margin-bottom: 3px; color: #bab5c8; font-size: .66rem; }

.auth-register .auth-layout { grid-template-columns: minmax(0, .92fr) minmax(500px, 1fr); gap: clamp(36px, 5vw, 82px); }
.auth-register .auth-story h1 { font-size: clamp(2.8rem, 5.2vw, 5.3rem); }
.auth-register .auth-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.auth-register .auth-field--wide,
.auth-register .auth-options,
.auth-register .auth-submit,
.auth-register .auth-message,
.auth-register .auth-alt { grid-column: 1 / -1; }

.auth-footer {
  width: min(1240px, calc(100% - 40px));
  margin: 0 auto;
  padding: 20px 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #656273;
  font-size: .69rem;
}
.auth-footer nav { display: flex; flex-wrap: wrap; gap: 17px; }
.auth-footer a { color: #858192; text-decoration: none; }
.auth-footer a:hover { color: #c3bed0; }

.auth-success-card { display: none; position: relative; z-index: 2; text-align: center; }
.auth-success-card.is-visible { display: block; animation: auth-rise .45s var(--auth-ease) both; }
.auth-form.is-hidden, .auth-card__head.is-hidden { display: none; }
.auth-success-card__icon { width: 70px; height: 70px; margin: 2px auto 20px; display: grid; place-items: center; border: 1px solid rgba(89,224,167,.32); border-radius: 24px; color: var(--auth-green); background: rgba(89,224,167,.09); box-shadow: 0 0 40px rgba(89,224,167,.12); font-size: 2rem; }
.auth-success-card h3 { margin: 0; font-size: 1.55rem; }
.auth-success-card p { margin: 12px auto 22px; max-width: 350px; color: var(--auth-muted); line-height: 1.65; font-size: .84rem; }
.auth-success-card a { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border-radius: 13px; color: #fff; background: linear-gradient(100deg,#7541e8,#a84cff); text-decoration: none; font-size: .82rem; font-weight: 800; }
.auth-verification{display:grid;gap:14px;margin-top:24px;padding:20px;border:1px solid rgba(154,100,255,.35);border-radius:18px;background:rgba(8,7,18,.72);text-align:left}
.auth-verification>label{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#d9c8ff}
.auth-verification__code{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.auth-verification__code input{width:100%;min-width:0;padding:14px 16px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#090711;color:#fff;font:800 1.25rem/1 monospace;letter-spacing:.32em;text-align:center;outline:none}
.auth-verification__code input:focus{border-color:#9a64ff;box-shadow:0 0 0 4px rgba(154,100,255,.14)}
.auth-verification__code button,.auth-verification__resend{border:0;border-radius:12px;padding:13px 18px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;font-weight:800;cursor:pointer}
.auth-verification__resend{padding:4px;background:transparent;color:#bd9cff;text-align:left;font-weight:700}
.auth-verification button:disabled{opacity:.55;cursor:wait}
.auth-verification__status{margin:0!important;max-width:none!important;color:#aaa1ba!important;font-size:.88rem!important;line-height:1.5}
.auth-verification__status[data-type="error"]{color:#ff8298!important}.auth-verification__status[data-type="success"]{color:#65e9ae!important}
.auth-verification.is-verified{border-color:rgba(101,233,174,.5);box-shadow:0 0 32px rgba(101,233,174,.09)}

@keyframes auth-spin { to { transform: rotate(360deg); } }
@keyframes auth-float { 0%, 100% { transform: translate(-50%, -50%) rotate(45deg) translateY(-4px); } 50% { transform: translate(-50%, -50%) rotate(48deg) translateY(8px); } }
@keyframes auth-orbit { to { transform: translate(-50%, -50%) rotate(348deg); } }
@keyframes auth-drift { to { transform: translate3d(7%, 4%, 0) scale(1.08); } }
@keyframes auth-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 980px) {
  .auth-layout, .auth-register .auth-layout { grid-template-columns: 1fr; width: min(650px, calc(100% - 36px)); gap: 25px; padding-top: 16px; }
  .auth-story { text-align: center; }
  .auth-story h1, .auth-story__lead { margin-left: auto; margin-right: auto; }
  .auth-world { height: 230px; }
  .auth-eyebrow { margin-bottom: 16px; }
  .auth-register .auth-story h1, .auth-story h1 { font-size: clamp(2.8rem, 10vw, 5rem); }
}

@media (max-width: 620px) {
  .auth-verification__code{grid-template-columns:1fr}.auth-verification__code button{width:100%}
  .auth-topbar { width: calc(100% - 28px); min-height: 70px; }
  .auth-brand__word { font-size: .94rem; }
  .auth-toplink { display: none; }
  .auth-switch { min-height: 38px; padding: 0 12px; font-size: .76rem; }
  .auth-layout, .auth-register .auth-layout { width: calc(100% - 24px); min-height: auto; padding: 20px 0 42px; }
  .auth-story { padding: 8px 0; }
  .auth-story h1, .auth-register .auth-story h1 { font-size: clamp(2.65rem, 15vw, 4rem); }
  .auth-story__lead { margin-top: 18px; font-size: .91rem; }
  .auth-world { height: 190px; margin-top: 22px; border-radius: 21px; }
  .auth-orbit { transform: translate(-50%, -50%) rotate(-12deg) scale(.77); }
  .auth-orbit--two { transform: translate(-50%, -50%) rotate(-12deg) scale(.7); }
  .auth-world__chip { padding: 8px 9px; font-size: .64rem; }
  .auth-world__chip--one { top: 13px; left: 13px; }
  .auth-world__chip--two { right: 13px; bottom: 13px; }
  .auth-card { padding: 26px 19px; border-radius: 23px; }
  .auth-card-wrap::before { border-radius: 24px; }
  .auth-card__intro { margin-bottom: 23px; }
  .auth-register .auth-form { grid-template-columns: 1fr; }
  .auth-register .auth-field, .auth-register .auth-options, .auth-register .auth-submit, .auth-register .auth-message, .auth-register .auth-alt { grid-column: 1; }
  .auth-options { align-items: flex-start; flex-direction: column; gap: 12px; }
  .auth-trust { gap: 5px; }
  .auth-trust__item { font-size: .57rem; }
  .auth-trust__item strong { font-size: .6rem; }
  .auth-footer { width: calc(100% - 30px); align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* AUTH RECOVERY POLISH 2026-10-07 */
.auth-caps-warning { margin: 8px 2px 0; color: var(--auth-yellow); font-size: .75rem; font-weight: 750; }
.auth-caps-warning[hidden] { display: none; }
.auth-recovery .auth-cube { filter: hue-rotate(18deg); }
.auth-recovery .auth-world::after {
  position: absolute; inset: 18% 24%; content: ""; border: 1px solid rgba(89,224,167,.18);
  border-radius: 50%; box-shadow: 0 0 80px rgba(89,224,167,.08);
  animation: auth-orbit 14s linear infinite reverse;
}
.auth-message.is-info { border-color: rgba(82,216,255,.28); color: #aeeaff; background: rgba(45,157,207,.1); }
.auth-message.is-success { border-color: rgba(89,224,167,.3); color: #aef2d2; background: rgba(54,170,122,.1); }
.auth-message.is-error { border-color: rgba(255,116,143,.32); color: #ffb1c0; background: rgba(207,65,96,.1); }
@media (max-width: 560px) {
  .auth-recovery .auth-layout { padding-top: 14px; }
  .auth-recovery .auth-story h1 { font-size: clamp(2.55rem, 14vw, 4rem); }
}
/* AUTH COMPACT MOBILE 2026-10-07 */
@media (max-width: 480px) {
  .auth-topbar { gap: 8px; }
  .auth-brand { gap: 8px; min-width: 0; }
  .auth-brand__mark { width: 35px; height: 35px; flex: 0 0 35px; }
  .auth-brand__word { max-width: 116px; overflow: hidden; font-size: .78rem; white-space: nowrap; text-overflow: ellipsis; }
  .auth-switch { max-width: 132px; padding-inline: 10px; text-align: center; line-height: 1.15; }
  .auth-story { min-width: 0; overflow: hidden; }
  .auth-story h1, .auth-register .auth-story h1, .auth-recovery .auth-story h1 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(2.35rem, 12vw, 3rem);
    line-height: .95;
    letter-spacing: -.06em;
    overflow-wrap: normal;
  }
  .auth-story__lead { max-width: 100%; padding-inline: 4px; font-size: .86rem; line-height: 1.65; }
  .auth-card__head h2 { font-size: 1.55rem; }
  .auth-card__intro { font-size: .79rem; }
}
/* AUTH NARROW OVERRIDE 2026-10-07 */
@media (max-width: 420px) {
  .auth-brand__word { max-width: 82px; font-size: .72rem; }
  .auth-brand__word span { display: none; }
  .auth-switch { max-width: 116px; font-size: .68rem; }
  .auth-story h1, .auth-register .auth-story h1, .auth-recovery .auth-story h1 { font-size: clamp(2.1rem, 10.5vw, 2.55rem); letter-spacing: -.055em; }
  .auth-story__lead { font-size: .82rem; }
}
