body { min-height: 100vh; overflow-x: hidden; background: #07070a; }
.recovery-nav { position: relative; z-index: 5; display: flex; align-items: center; justify-content: space-between; width: min(1320px, calc(100% - 56px)); height: 82px; margin: 0 auto; border-bottom: 1px solid rgba(255,255,255,.075); }
.recovery-nav .brand { display: inline-flex; align-items: center; gap: 10px; }
.recovery-nav .gbtn { height: 36px; font-size: 9px; letter-spacing: 1.2px; }
.recovery-layout { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 500px); align-items: center; gap: clamp(48px, 8vw, 132px); width: min(1120px, calc(100% - 56px)); min-height: calc(100vh - 142px); margin: 0 auto; padding: 44px 0 62px; }
.recovery-intro { position: relative; z-index: 1; min-width: 0; padding: 18px 0 50px; }
.recovery-kicker { display: inline-flex; align-items: center; gap: 10px; color: #ff6278; font-family: var(--display); font-size: 10px; font-weight: 700; letter-spacing: 2.6px; }
.recovery-kicker i, .recovery-footer > span:last-child i { width: 7px; height: 7px; border-radius: 50%; background: #ff2540; box-shadow: 0 0 13px rgba(255,37,64,.85); }
.recovery-intro h1 { margin: 22px 0 15px; font-family: var(--display); font-size: clamp(38px, 5.3vw, 68px); font-weight: 700; line-height: 1.03; letter-spacing: -1.7px; }
.recovery-intro h1 em { color: #ff536b; font-style: normal; text-shadow: 0 0 42px rgba(255,37,64,.25); }
.recovery-intro > p { max-width: 490px; margin: 0; color: #9a9aa6; font-size: 16px; line-height: 1.7; }
.recovery-assurance { position: relative; display: flex; align-items: center; gap: 13px; max-width: 425px; margin-top: 36px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.09); background: linear-gradient(110deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); }
.recovery-assurance-icon, .recovery-mark { display: grid; flex: 0 0 auto; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,37,64,.33); background: rgba(255,37,64,.095); color: #ff7183; }
.recovery-assurance-icon svg, .recovery-mark svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.recovery-assurance strong, .recovery-assurance small { display: block; }
.recovery-assurance strong { color: #e8e8ee; font-family: var(--display); font-size: 12px; letter-spacing: .2px; }
.recovery-assurance small { margin-top: 4px; color: #858590; font-size: 12px; line-height: 1.45; }
.recovery-orbit { position: absolute; z-index: -1; right: -142px; bottom: -210px; width: 420px; height: 420px; border: 1px solid rgba(255,37,64,.12); border-radius: 50%; opacity: .85; }
.recovery-orbit::before, .recovery-orbit::after { position: absolute; inset: 36px; border: 1px solid rgba(255,255,255,.045); border-radius: 50%; content: ""; }
.recovery-orbit::after { inset: 83px; border-color: rgba(255,37,64,.09); }
.recovery-orbit span { position: absolute; inset: 50%; width: 170%; height: 1px; background: linear-gradient(90deg,transparent,rgba(255,37,64,.2),transparent); transform: translate(-50%,-50%) rotate(-38deg); }
.recovery-orbit i, .recovery-orbit b { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #ff405b; box-shadow: 0 0 16px #ff2540; }
.recovery-orbit i { top: 50px; left: 88px; }
.recovery-orbit b { right: 69px; bottom: 108px; opacity: .65; }
.recovery-card { position: relative; min-width: 0; border: 1px solid rgba(255,255,255,.105); background: linear-gradient(145deg,rgba(255,37,64,.55),rgba(255,255,255,.1) 42%,rgba(255,255,255,.035)); box-shadow: 0 30px 100px rgba(0,0,0,.48),0 0 80px rgba(255,37,64,.075); }
.recovery-card::before { position: absolute; top: 0; left: 28px; width: 58px; height: 2px; background: #ff2540; box-shadow: 0 0 20px rgba(255,37,64,.9); content: ""; }
.recovery-card-inner { position: relative; padding: 28px 30px 22px; background: linear-gradient(155deg,rgba(19,19,24,.98),rgba(9,9,12,.99)); }
.recovery-brandline { display: flex; align-items: center; gap: 12px; min-width: 0; }
.recovery-brandline > span:nth-child(2) { display: block; min-width: 0; flex: 1 1 auto; }
.recovery-brandline small, .recovery-brandline strong { display: block; }
.recovery-brandline small { color: #ff6379; font-family: var(--display); font-size: 8px; font-weight: 700; letter-spacing: 2px; }
.recovery-brandline strong { margin-top: 4px; font-family: var(--display); font-size: 17px; font-weight: 650; }
.recovery-state { flex: 0 0 auto; padding: 6px 8px; border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.025); color: #9999a4; font-family: var(--mono); font-size: 9px; letter-spacing: .6px; }
.recovery-lead { margin: 19px 0 23px; color: #91919d; font-size: 13px; line-height: 1.6; }
.recovery-card .auth-input > svg { color: #777783; }
.recovery-card .auth-input input::placeholder { color: #666671; }
.recovery-card [data-confirm-form] .turnstile-box { margin-top: 5px; }
.recovery-card .auth-submit { display: flex; width: 100%; height: 48px; align-items: center; justify-content: center; gap: 12px; margin-top: 21px; border: 1px solid #ff4058; background: linear-gradient(105deg,#ff2540,#c80d2b); color: #fff; font-family: var(--display); font-size: 10px; font-weight: 750; letter-spacing: 1.15px; text-decoration: none; cursor: pointer; box-shadow: 0 8px 25px rgba(255,37,64,.15); }
.recovery-card .auth-submit:hover:not(:disabled) { filter: brightness(1.08); box-shadow: 0 10px 32px rgba(255,37,64,.25); }
.recovery-card .auth-submit:disabled { cursor: not-allowed; opacity: .45; }
.recovery-card .auth-submit svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.recovery-card .auth-submit.busy { pointer-events: none; }
.recovery-card .auth-message { min-height: 38px; margin-top: 12px; }
.recovery-card .turnstile-box { margin-top: 5px; }
.recovery-back { display: block; margin: 13px auto 0; padding: 5px 8px; border: 0; background: transparent; color: #a9a9b3; font: 12px var(--body); cursor: pointer; }
.recovery-back:hover { color: #ff7b8d; }
.recovery-footnote { display: flex; align-items: flex-start; gap: 9px; margin: 19px 0 0; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.07); color: #777782; font-size: 11px; line-height: 1.5; }
.recovery-footnote svg { flex: 0 0 auto; width: 15px; height: 15px; fill: none; stroke: #ff6379; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.recovery-footnote a { color: #e3a4ad; text-decoration: underline; text-decoration-color: rgba(255,99,121,.45); text-underline-offset: 2px; }
.recovery-success { padding: 28px 0 8px; text-align: center; }
.recovery-success-icon { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 16px; border: 1px solid rgba(0,213,143,.33); background: rgba(0,213,143,.09); color: #33e0a4; }
.recovery-success-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.recovery-success > strong { display: block; font-family: var(--display); font-size: 21px; }
.recovery-success p { max-width: 330px; margin: 9px auto 0; color: #93939e; font-size: 13px; line-height: 1.6; }
.recovery-success .auth-submit { margin-top: 22px; }
.recovery-footer { display: flex; justify-content: space-between; width: min(1320px, calc(100% - 56px)); margin: 0 auto; padding: 17px 0 21px; border-top: 1px solid rgba(255,255,255,.06); color: #696974; font-family: var(--display); font-size: 8px; letter-spacing: 1.4px; }
.recovery-footer > span:last-child { display: inline-flex; align-items: center; gap: 8px; }
.recovery-footer > span:last-child i { width: 6px; height: 6px; background: #03d28c; box-shadow: 0 0 9px rgba(3,210,140,.65); }
@media (max-width: 900px) {
  .recovery-layout { grid-template-columns: minmax(0,1fr) minmax(340px,440px); gap: 34px; }
  .recovery-intro h1 { font-size: clamp(36px,5.2vw,52px); }
  .recovery-intro > p { font-size: 14px; }
  .recovery-card-inner { padding: 25px 23px 20px; }
}
@media (max-width: 720px) {
  .recovery-nav, .recovery-footer { width: calc(100% - 32px); }
  .recovery-nav { height: 68px; }
  .recovery-layout { grid-template-columns: 1fr; width: min(500px,calc(100% - 32px)); min-height: 0; gap: 25px; padding: 39px 0 45px; }
  .recovery-intro { padding: 0; }
  .recovery-intro h1 { margin: 15px 0 10px; font-size: clamp(36px,10vw,48px); }
  .recovery-intro > p { font-size: 13px; }
  .recovery-assurance { margin-top: 19px; padding: 11px 13px; }
  .recovery-orbit { right: -210px; bottom: -130px; width: 310px; height: 310px; opacity: .55; }
  .recovery-card-inner { padding: 23px 19px 18px; }
  .recovery-footer { font-size: 7px; }
}
@media (prefers-reduced-motion: reduce) { .recovery-orbit, .recovery-orbit * { animation: none !important; } }
