*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--tg-blue:#2aabee;--tg-blue-dark:#1a9ede;--tg-bg:#0e1621;--tg-card:#ffffff0f;--tg-text:#fff;--tg-hint:#ffffff80;--tg-border:#ffffff26;--tg-error:#ff6b6b;--tg-success:#34c759;--tg-input-bg:#ffffff14}html,body,#root{height:100%}body{background:var(--tg-theme-bg-color,var(--tg-bg));color:var(--tg-theme-text-color,var(--tg-text));-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}.step{flex-direction:column;align-items:center;gap:14px;width:100%;animation:.25s both stepIn;display:flex}@keyframes stepIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.step-title{color:#fff;text-align:center;letter-spacing:-.3px;font-size:22px;font-weight:700}.step-subtitle{color:#ffffff8c;text-align:center;font-size:14px;line-height:1.5}.step-subtitle strong{color:#ffffffe6;font-weight:600}.input-wrap{width:100%;margin-top:4px}.input{color:#fff;text-align:center;letter-spacing:.5px;background:#ffffff14;border:1.5px solid #ffffff26;border-radius:12px;outline:none;width:100%;padding:13px 16px;font-family:inherit;font-size:17px;transition:border-color .18s,background .18s}.input:focus{border-color:var(--tg-blue);background:#ffffff1f}.input-wrap.input-error .input{border-color:var(--tg-error)}.input::placeholder{color:#ffffff4d;letter-spacing:normal}.otp-tg-icon{margin-bottom:2px;animation:.35s cubic-bezier(.34,1.56,.64,1) both popIn}.otp-row{gap:10px;margin-top:4px;display:flex}.otp-cell{text-align:center;color:#fff;width:52px;height:58px;caret-color:var(--tg-blue);background:#ffffff14;border:1.5px solid #ffffff26;border-radius:12px;outline:none;font-family:inherit;font-size:22px;font-weight:600;transition:border-color .18s,transform .1s,background .18s}.otp-cell:focus{border-color:var(--tg-blue);background:#ffffff1f;transform:scale(1.04)}.otp-cell.otp-filled{border-color:var(--tg-blue)}.otp-cell.otp-error{border-color:var(--tg-error);animation:.35s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}60%{transform:translate(4px)}}.error-text{color:var(--tg-error);text-align:center;min-height:18px;font-size:13px}.btn-primary{background:var(--tg-theme-button-color,var(--tg-blue));width:100%;color:var(--tg-theme-button-text-color,#fff);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;min-height:50px;margin-top:4px;padding:14px;font-family:inherit;font-size:16px;font-weight:600;transition:opacity .15s,transform .1s;display:flex}.btn-primary:active{opacity:.88;transform:scale(.98)}.btn-disabled{opacity:.45;cursor:not-allowed}.btn-ghost{color:#ffffff8c;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-family:inherit;font-size:15px;transition:opacity .15s}.btn-ghost:active{opacity:.6}.spinner{border:2.5px solid #fff6;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.step-success{gap:16px}.success-icon{margin-bottom:4px;animation:.4s cubic-bezier(.34,1.56,.64,1) both popIn}.success-msg{color:var(--tg-theme-text-color,var(--tg-text));font-size:16px;font-weight:500}@keyframes popIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (width<=360px){.otp-cell{width:46px;height:52px;font-size:20px}.otp-row{gap:7px}}.tg-bg{z-index:0;background-color:#0a0a0f;position:fixed;inset:0;overflow:hidden}.tg-bg__pattern{mix-blend-mode:soft-light;opacity:.6;filter:invert()sepia()hue-rotate(220deg)saturate(2.5);background-image:url(/pattern.svg);background-position:top;background-size:cover;position:absolute;inset:0}.app{z-index:1;justify-content:center;align-items:center;min-height:100dvh;padding:20px 16px;display:flex;position:relative}.card{z-index:1;-webkit-backdrop-filter:blur(20px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;align-items:center;width:100%;max-width:390px;padding:36px 24px 32px;display:flex;position:relative;box-shadow:0 8px 48px #00000080}.logo{margin-bottom:20px}
