:root{--background: #0B0A10;--card: rgba(24, 22, 33, .72);--field: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .1);--text: #F4F2FA;--muted: #A9A5B8;--accent: #7C5CFF;--accent-2: #E04BD8;--accent-text: #C2B2FF;--danger: #FF8A8A;--success: #34D399;--stripe: linear-gradient(90deg, var(--accent), var(--accent-2), #FF1A2D, var(--accent));--ui: -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, system-ui, sans-serif;--display: -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", Roboto, system-ui, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:max(24px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));background:var(--background);color:var(--text);font:15px/1.5 var(--ui);overflow-x:hidden}a{color:var(--accent-text)}.aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.aurora span{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(80px);opacity:.38;animation:drift 22s ease-in-out infinite alternate}.aurora span:nth-child(1){background:#6a45f5;top:-25vmax;left:-15vmax}.aurora span:nth-child(2){background:#c2399f;bottom:-30vmax;right:-20vmax;animation-duration:28s;animation-delay:-6s}.aurora span:nth-child(3){background:#1e6fd9;top:30%;left:45%;width:40vmax;height:40vmax;opacity:.22;animation-duration:34s;animation-delay:-12s}@keyframes drift{0%{transform:translate(0) scale(1)}50%{transform:translate(6vmax,4vmax) scale(1.08)}to{transform:translate(-4vmax,7vmax) scale(.95)}}.login-card{position:relative;z-index:1;width:min(420px,100%);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:36px 28px 28px;border-radius:28px;background:var(--card);border:1px solid var(--line);overflow:hidden;backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);box-shadow:0 30px 80px #00000073,inset 0 1px #ffffff0f;animation:rise .7s cubic-bezier(.2,.8,.2,1) both}.stripe{position:absolute;top:0;left:0;right:0;height:4px;background:var(--stripe);background-size:200% 100%;animation:flow 8s linear infinite}@keyframes flow{to{background-position:-200% 0}}@keyframes rise{0%{opacity:0;transform:translateY(24px) scale(.97)}}.logo{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 10px 40px #7c5cff8c;animation:glow 4s ease-in-out infinite}.logo svg{width:38px;height:38px;fill:#fff}@keyframes glow{50%{box-shadow:0 10px 56px #e04bd899;transform:translateY(-2px)}}h1{margin:6px 0 0;font:700 28px/1.15 var(--display);letter-spacing:-.02em}h1 .by{display:block;margin-top:4px;font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ff4d5e}.lead{margin:-6px 0 0;color:var(--muted)}.community{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 8px;border-radius:999px;font-size:13px;text-decoration:none;color:var(--text);background:#ffffff0f;border:1px solid var(--line);transition:background .2s,transform .2s}.community img{height:28px;width:auto;padding:4px 6px;border-radius:999px;background:#000}.community:hover{background:#ffffff1a;transform:translateY(-1px)}.steps{display:flex;gap:8px;list-style:none;margin:8px 0 0;padding:0}.steps li{display:flex;align-items:center;gap:6px;padding:4px 12px 4px 4px;border-radius:999px;font-size:13px;color:var(--muted);background:#ffffff0a;transition:color .3s,background .3s}.steps li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12px;background:#ffffff14;transition:background .3s}.steps li.active{color:var(--text);background:#7c5cff2e}.steps li.active span{background:var(--accent);color:#fff}.steps li.passed span{background:var(--success);color:#062}.stage{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.stage[hidden]{display:none}.stage.shown{animation:enter .45s cubic-bezier(.2,.8,.2,1) both}@keyframes enter{0%{opacity:0;transform:translate(18px)}}.stage p{margin:0}.hint{color:var(--muted);font-size:13px}.telegram-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;border-radius:14px;color:#fff;font:650 16px var(--ui);text-decoration:none;background:linear-gradient(135deg,#2aabee,#229ed9);box-shadow:0 8px 26px #2aabee59;transition:transform .15s,box-shadow .2s,filter .2s}.telegram-button svg{width:22px;height:22px;fill:#fff}.telegram-button:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 12px 32px #2aabee73}.telegram-button:active{transform:translateY(1px) scale(.99)}.hello{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:16px;background:var(--field);text-align:left}.hello img,.initial{width:44px;height:44px;border-radius:50%;flex:none;object-fit:cover}.initial{display:grid;place-items:center;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent-2))}.hello div{display:flex;flex-direction:column}.hello span{color:var(--muted);font-size:13px}form{width:100%;display:flex;flex-direction:column;gap:10px;text-align:left}label{font-size:13px;font-weight:600;color:var(--muted)}input{width:100%;min-height:50px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--field);color:var(--text);font:600 16px var(--mono);letter-spacing:.04em;transition:border-color .2s,box-shadow .2s}input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #7c5cff40}input::placeholder{color:#ffffff40}button.primary{min-height:50px;border:0;border-radius:14px;color:#fff;font:650 16px var(--ui);cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--accent-2));background-size:150% 150%;box-shadow:0 8px 28px #7c5cff66;transition:transform .15s,box-shadow .2s,background-position .4s}button.primary:hover{transform:translateY(-1px);background-position:100% 0;box-shadow:0 12px 34px #e04bd873}button.primary:active{transform:translateY(1px) scale(.99)}button.primary.busy{opacity:.7;cursor:progress}.error{width:100%;margin:0;padding:10px 14px;border-radius:12px;color:var(--danger);background:#ff5a5a1a;font-size:14px}.shake{animation:shake .4s}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.spinner{width:34px;height:34px;margin:10px;border-radius:50%;border:3px solid rgba(255,255,255,.12);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.success{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#34d39926;animation:pop .5s cubic-bezier(.2,1.6,.4,1) both}.success svg{width:40px;height:40px;fill:none;stroke:var(--success);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;animation:draw .5s .2s ease forwards}@keyframes pop{0%{transform:scale(.4);opacity:0}}@keyframes draw{to{stroke-dashoffset:0}}.done-text{font:650 18px var(--display)}.credits{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;color:var(--muted);font-size:13px;text-align:center}.credit{display:inline-flex;align-items:center;gap:8px}.credit-logo{width:26px;height:26px;border-radius:50%}.credit-logo.wide{width:auto;padding:3px 5px;border-radius:999px;background:#000}.credits a{color:var(--text);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}.credits a:hover{border-color:var(--accent-2)}@media(max-width:480px){.login-card{padding:30px 20px 22px;border-radius:24px}h1{font-size:25px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
