
:root{
  --bg:#F7F8FA;--surface:#FFFFFF;--surface2:#F2F4F7;--line:#D9DEE7;--line2:#C6CEDA;
  --text:#171A21;--muted:#6D7685;--blue:#2F6BFF;--blue2:#5A7FD8;--danger:#D84E5B;--warning:#B97518;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:radial-gradient(circle at 72% -12%,rgba(47,107,255,.06),transparent 35%),linear-gradient(180deg,#fff,var(--bg));color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif}
body{min-height:100vh}
button,input{font:inherit}
.w{max-width:1120px;margin:auto;padding:34px 24px 90px}
.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.logo{font-size:22px;font-weight:760;letter-spacing:-.025em}
.logoDot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--blue);margin-left:7px;box-shadow:0 0 16px rgba(47,107,255,.25)}
.kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#6E84B6}
h1{font-size:54px;line-height:1.05;letter-spacing:-.028em;font-weight:640;margin:62px 0 18px;max-width:780px}
h2{font-size:26px;line-height:1.15;letter-spacing:-.018em;font-weight:620}
h3{font-weight:620}
p{line-height:1.65}
.m{color:var(--muted)}.small{font-size:13px}
.p{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;margin-top:22px;box-shadow:0 12px 34px rgba(31,40,55,.07)}
input{width:100%;padding:16px;border-radius:13px;border:1px solid var(--line);background:#fff;color:var(--text);outline:none;margin:8px 0 12px}
input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,107,255,.08)}
button{padding:14px 18px;border:0;border-radius:13px;font-weight:690;cursor:pointer;transition:.15s ease}
button:hover{transform:translateY(-1px)}
.primary{background:var(--blue);color:white;box-shadow:0 8px 22px rgba(47,107,255,.16)}
.s{background:#fff;color:var(--text);border:1px solid var(--line)}
.ghost{background:transparent;color:var(--blue);padding-left:0}
.r{display:flex;gap:10px;align-items:center}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:18px}
.c{border:1px solid var(--line);border-radius:20px;padding:21px;background:#fff;cursor:pointer;transition:.18s}
.c:hover{border-color:var(--line2);background:#FAFBFC;transform:translateY(-1px);box-shadow:0 8px 24px rgba(31,40,55,.05)}
.choice{min-height:150px}
.choice.selected{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,107,255,.08)}
.badge{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px;color:#5F6877;background:#fff}
.info{border-left:2px solid var(--blue);padding:12px 14px;background:#EEF4FF;border-radius:0 12px 12px 0;color:#4C5C75;margin-top:14px}
.warn{border-left-color:var(--warning);background:#FFF5E8}
.err{color:var(--danger);margin-top:10px}
.success{color:#2D9D68}
.codeWrap{display:flex;gap:10px;justify-content:flex-start;margin:20px 0}
.codeBox{width:54px;height:62px !important;text-align:center;font-size:27px;font-weight:680;padding:0 !important;margin:0 !important;border-radius:14px !important;background:#fff!important}
.timer{margin-top:14px}
.divider{height:1px;background:var(--line);margin:22px 0}
.step{display:flex;align-items:center;gap:10px;color:#6D7685;font-size:13px;margin-top:15px}
.stepDot{width:8px;height:8px;border-radius:50%;background:var(--blue)}
.authShell{display:grid;grid-template-columns:1fr 1fr;min-height:640px;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:#fff;margin-top:34px;box-shadow:0 12px 34px rgba(31,40,55,.07)}
.authVisual{position:relative;padding:34px;background:radial-gradient(circle at 50% 40%,rgba(47,107,255,.09),transparent 30%),linear-gradient(145deg,#F8FAFD,#EEF3FA)}
.authPane{padding:56px;display:flex;align-items:center;background:#fff}
.authInner{width:100%;max-width:450px;margin:auto}
.authTitle{font-size:42px;line-height:1.08;letter-spacing:-.025em;font-weight:620;margin:12px 0 16px}
.authOrb{position:absolute;width:250px;height:250px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(47,107,255,.15);box-shadow:inset 0 0 90px rgba(47,107,255,.06),0 0 90px rgba(47,107,255,.05)}
.authOrb:before,.authOrb:after{content:"";position:absolute;inset:28px;border-radius:50%;border:1px solid rgba(47,107,255,.12)}.authOrb:after{inset:70px}
.authBrandText{position:absolute;left:34px;bottom:34px;max-width:320px}
.authLegal{font-size:12px;color:#7E8795;margin-top:14px;line-height:1.5}.authLegal a{color:#4E6FAF;text-decoration:none}
.authFull{width:100%}
@media(max-width:820px){h1{font-size:42px}.r{flex-direction:column;align-items:stretch}.codeWrap{gap:7px}.codeBox{width:44px;height:56px!important}.authShell{grid-template-columns:1fr}.authVisual{min-height:270px}.authPane{padding:34px}}

.logo img{display:block;height:26px;width:auto}
