:root {
  color-scheme: dark;
  --reset-canvas: #030304;
  --reset-surface: #FAFAFA;
  --reset-ink: #111113;
  --reset-muted: #52525B;
  --reset-primary: #C4B5FD;
  --reset-accent: #93C5FD;
  --reset-secondary: #FBCFE8;
  --reset-action: #4338CA;
  --reset-action-hover: #3730A3;
  --reset-border: #D4D4D8;
  --reset-danger: #B4234D;
  --reset-ease: cubic-bezier(.22,1,.36,1);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; }
a,button,input { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button,input { font: inherit; }
button,a { -webkit-touch-callout: default; }
[hidden] { display: none !important; }
::selection { color: var(--reset-ink); background: var(--reset-secondary); }
:where(a,button,input):focus-visible { outline: 3px solid var(--reset-primary); outline-offset: 4px; }
.reset-page {
  display: flex;
  flex-direction: column;
  min-height: 100svh;
  color: var(--reset-surface);
  background: radial-gradient(ellipse at 20% 0%,rgba(196,181,253,.07),transparent 45%),radial-gradient(ellipse at 85% 100%,rgba(147,197,253,.05),transparent 40%),var(--reset-canvas);
  -webkit-font-smoothing: antialiased;
}
.reset-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: min(1100px,calc(100% - 32px));
  min-height: 66px;
  margin: 16px auto 0;
  padding: 12px 20px;
  border: 1px solid rgba(250,250,250,.14);
  border-radius: 18px;
  background: rgba(21,21,29,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(24px);
}
.reset-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: 16px; font-weight: 600; letter-spacing: -.02em; text-decoration: none; }
.reset-brand img { display: block; flex: none; }
.reset-back { display: inline-flex; align-items: center; gap: 8px; padding: 10px 0; color: #D4D4D8; font-size: 13px; letter-spacing: .01em; text-decoration: none; transition: color 160ms ease; }
.reset-back:hover { color: #fff; }
.reset-main { display: grid; align-content: center; justify-items: center; flex: 1; width: 100%; padding: 56px 20px 40px; }
.reset-card { width: min(100%,480px); overflow: hidden; border: 1px solid #E4E4E7; border-radius: 20px; color: var(--reset-ink); color-scheme: light; background: var(--reset-surface); box-shadow: 0 30px 80px -32px rgba(0,0,0,.8); animation: reset-enter 520ms var(--reset-ease) both; }
.reset-palette { display: flex; height: 4px; }
.reset-palette i:nth-child(1) { width: 50%; background: var(--reset-primary); }
.reset-palette i:nth-child(2) { width: 30%; background: var(--reset-accent); }
.reset-palette i:nth-child(3) { width: 20%; background: var(--reset-secondary); }
.reset-card-body { padding: 36px 38px 38px; }
.reset-eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 24px; color: var(--reset-action); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.reset-eyebrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.reset-view { animation: reset-view-enter 320ms var(--reset-ease) both; }
.reset-view h1 { margin: 0 0 16px; font-family: "Playfair Display",Georgia,"Times New Roman",serif; font-size: 40px; font-weight: 400; line-height: 1.13; letter-spacing: -.025em; text-wrap: balance; }
.reset-view h1:focus { outline: none; }
.reset-copy { margin: 0 0 28px; color: var(--reset-muted); font-size: 15px; line-height: 1.65; text-wrap: pretty; }
.reset-copy strong { color: var(--reset-ink); font-weight: 500; overflow-wrap: anywhere; }
.reset-form { display: flex; flex-direction: column; gap: 20px; }
.reset-field { display: flex; flex-direction: column; gap: 9px; }
.reset-field label { color: var(--reset-ink); font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .01em; }
.reset-field input { width: 100%; min-width: 0; min-height: 50px; padding: 13px 14px; color: var(--reset-ink); border: 1px solid var(--reset-border); border-radius: 9px; background: #fff; font-size: 16px; line-height: 1.4; transition: border-color 160ms ease,box-shadow 160ms ease; }
.reset-field input::placeholder { color: #71717A; opacity: 1; }
.reset-field input:hover { border-color: #A1A1AA; }
.reset-field input:focus { border-color: var(--reset-action); outline: none; box-shadow: 0 0 0 3px rgba(196,181,253,.4); }
.reset-field input[aria-invalid="true"] { border-color: var(--reset-danger); }
.reset-field input[aria-invalid="true"]:focus { box-shadow: 0 0 0 3px rgba(180,35,77,.14); }
.reset-input-group { position: relative; }
.reset-input-group input { padding-right: 66px; }
.reset-toggle { position: absolute; inset: 5px 5px 5px auto; min-width: 54px; padding: 0 8px; color: var(--reset-action); border: 0; border-radius: 6px; background: transparent; font-size: 12px; font-weight: 600; letter-spacing: .01em; cursor: pointer; transition: background-color 160ms ease; }
.reset-toggle:hover { color: var(--reset-action-hover); background: #F5F3FF; }
.reset-hint { color: var(--reset-muted); font-size: 12px; line-height: 1.5; letter-spacing: .01em; }
.reset-strength { display: flex; gap: 4px; margin-top: 2px; }
.reset-strength i { flex: 1; height: 3px; border-radius: 2px; background: #E4E4E7; transition: background-color 160ms ease; }
.reset-strength[data-score="1"] i:first-child { background: var(--reset-action); }
.reset-strength[data-score="2"] i:nth-child(-n+2) { background: var(--reset-action); }
.reset-strength[data-score="3"] i:nth-child(-n+3),.reset-strength[data-score="4"] i { background: var(--reset-action); }
.reset-error { margin: -4px 0; padding: 12px 14px; color: var(--reset-danger); border: 1px solid #FECDD3; border-radius: 8px; background: #FFF1F2; font-size: 13px; line-height: 1.5; }
.reset-error:empty { display: none; }
.reset-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 50px; padding: 13px 18px; color: #fff; border: 1px solid var(--reset-action); border-radius: 9px; background: var(--reset-action); box-shadow: inset 0 1px 0 rgba(255,255,255,.16); font-size: 14px; font-weight: 500; line-height: 1.4; letter-spacing: .015em; text-decoration: none; cursor: pointer; transition: background-color 160ms ease,border-color 160ms ease,transform 160ms var(--reset-ease); }
.reset-button:hover { color: #fff; border-color: var(--reset-action-hover); background: var(--reset-action-hover); }
.reset-button:active { transform: scale(.985); }
.reset-button:disabled { color: #fff; opacity: .75; cursor: wait; transform: none; }
.reset-button--secondary { margin-top: 24px; color: var(--reset-action); border-color: var(--reset-primary); background: #F5F3FF; box-shadow: none; }
.reset-button--secondary:hover { color: var(--reset-action-hover); border-color: var(--reset-action); background: #EDE9FE; }
.reset-alt { margin: 24px 0 0; color: var(--reset-muted); font-size: 13px; line-height: 1.6; text-align: center; letter-spacing: .01em; }
.reset-alt a { color: var(--reset-action); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.reset-alt a:hover { color: var(--reset-action-hover); }
.reset-note { padding: 18px 20px; border-left: 3px solid var(--reset-accent); border-radius: 0 9px 9px 0; background: #EFF6FF; }
.reset-note strong { font-size: 14px; font-weight: 600; line-height: 1.4; }
.reset-note p { margin: 7px 0 0; color: var(--reset-muted); font-size: 14px; line-height: 1.6; }
.reset-support { margin: 24px 0 0; color: #A1A1AA; font-size: 12px; line-height: 1.6; letter-spacing: .015em; text-align: center; }
.reset-support a { color: var(--reset-accent); text-decoration: underline; text-underline-offset: 3px; }
@keyframes reset-enter { from { opacity: 0; transform: translateY(14px) scale(.99); } to { opacity: 1; transform: none; } }
@keyframes reset-view-enter { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@media(max-width:520px) {
  .reset-nav { gap: 12px; padding: 10px 14px; }
  .reset-brand { gap: 8px; font-size: 14px; }
  .reset-brand img { width: 30px; height: 30px; }
  .reset-back { gap: 6px; font-size: 11px; }
  .reset-main { padding: 36px 16px 28px; }
  .reset-card-body { padding: 28px 24px 30px; }
  .reset-view h1 { font-size: 36px; }
}
@media(max-width:359px) { .reset-card-body { padding-inline: 20px; } .reset-view h1 { font-size: 32px; } .reset-back span { display: none; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
