:root{--primary:#275ff4;--primary-dark:#1d4dd0;--accent1:#97b3ff;--accent3:#d1deff;--text:#212121;--text-secondary:#616161;--bg:#f5f5f5;--card:#fff;--border:#e2e6ef;--error:#f75555;--success:#07bd74}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(1200px 600px at 50% -200px, var(--accent3), transparent), var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Golos Text,system-ui,sans-serif}#root{min-height:100vh}.page{flex-direction:column;align-items:center;min-height:100vh;padding:40px 16px 24px;display:flex}.brand{text-align:center;margin-bottom:28px}.brand-name{color:var(--primary);letter-spacing:.5px;font-family:Alumni Sans,Golos Text,sans-serif;font-size:44px;font-weight:800;line-height:1}.brand-sub{color:var(--text-secondary);letter-spacing:.2px;margin-top:6px;font-size:14px;font-weight:500}.card{background:var(--card);border-radius:24px;width:100%;max-width:420px;padding:32px 24px;box-shadow:0 10px 30px #275ff41a,0 2px 8px #2121210f}.step{flex-direction:column;gap:14px;display:flex}.title{text-align:center;margin:0;font-family:Alumni Sans,Golos Text,sans-serif;font-size:30px;font-weight:700;line-height:1.15}.subtitle{color:var(--text-secondary);text-align:center;margin:0;font-size:15px;line-height:1.45}.input{width:100%;height:52px;color:var(--text);border:1.5px solid var(--border);background:#fafafa;border-radius:14px;outline:none;padding:0 16px;font-family:inherit;font-size:17px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #275ff426}.input-otp{text-align:center;letter-spacing:10px;font-size:24px;font-weight:600}.input-code{text-align:center;letter-spacing:3px;font-size:20px;font-weight:600}.btn{letter-spacing:.4px;cursor:pointer;border:none;border-radius:14px;height:52px;font-family:Alumni Sans,Golos Text,sans-serif;font-size:23px;font-weight:700;transition:background .15s,transform .1s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.error{color:var(--error);text-align:center;margin:0;font-size:14px}.auth-links{flex-direction:column;align-items:center;gap:4px;display:flex}.link{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:6px;font-family:inherit;font-size:14px;font-weight:500}.link:disabled{color:var(--text-secondary);cursor:default}.loading{color:var(--text-secondary);flex-direction:column;align-items:center;gap:10px;padding:24px 0;display:flex}.loading p{margin:0}.spinner{border:3px solid var(--accent3);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result{text-align:center;align-items:center}.result-icon{background:var(--accent3);width:72px;height:72px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.result-icon-success{color:var(--success);background:#07bd741f}.points-badge{color:var(--success);letter-spacing:.5px;background:#07bd741f;border-radius:999px;padding:8px 20px;font-family:Alumni Sans,Golos Text,sans-serif;font-size:24px;font-weight:800}.stores-title{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-secondary);margin-top:10px;font-size:13px;font-weight:600}.stores{flex-direction:column;gap:10px;width:100%;display:flex}.store-btn{background:#101319;border-radius:14px;align-items:center;gap:14px;width:100%;padding:12px 18px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex}.store-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10131947}.store-btn[aria-disabled=true]{cursor:default}.store-icon{justify-content:center;align-items:center;width:32px;display:flex}.store-text{flex-direction:column;align-items:flex-start;display:flex}.store-caption{color:#b9bfc9;letter-spacing:.3px;font-size:11px;font-weight:500}.store-name{color:#fff;font-size:18px;font-weight:600;line-height:1.2}.footer{color:var(--text-secondary);margin-top:28px;font-size:12px}@media (width<=400px){.card{padding:26px 18px}.brand-name{font-size:38px}}
