.code-input-container{width:100%}.code-input-wrapper{display:flex;gap:12px;justify-content:center;margin:20px 0}.code-input{width:50px;height:50px;border:1px solid rgba(255,255,255,.3);border-radius:12px;text-align:center;font-size:24px;font-weight:600;color:var(--text);background:#0f0f2399;transition:all .2s ease-in-out;outline:none}.code-input:focus{border-color:#7c5cff99;box-shadow:0 0 0 3px #7c5cff26;transform:scale(1.05);background:#0f0f23cc}.code-input:disabled{background:#0f0f2366;cursor:not-allowed;opacity:.6;border-color:#ffffff26}.code-input-error{border-color:#ef4444cc;animation:shake .3s ease-in-out}.code-input-error:focus{border-color:#ef4444e6;box-shadow:0 0 0 3px #ef444433}.code-input-error-message{text-align:center;color:#ef4444;font-size:14px;margin-top:8px;font-weight:500}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media(max-width:480px){.code-input-wrapper{gap:8px}.code-input{width:42px;height:42px;font-size:20px}}.resend-code-button{width:100%;padding:12px 20px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff0f;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;margin-top:20px}.resend-code-button:hover:not(:disabled){background:#ffffff1a;transform:translateY(-1px)}.resend-code-button:active:not(:disabled){transform:translateY(0)}.resend-code-button:disabled{opacity:.55;cursor:not-allowed;transform:none;background:#ffffff0a}.auth-container{width:100%;max-width:440px;padding:20px;position:relative;z-index:2}.auth-card{border-radius:24px;padding:40px 36px;border:1px solid rgba(255,255,255,.12);background:#0f0f23d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 22px 70px #0000008c,0 0 0 1px #ffffff0f inset;position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;inset:-50px;background:radial-gradient(500px 300px at 20% 20%,rgba(124,92,255,.15),transparent 60%),radial-gradient(500px 300px at 80% 80%,rgba(167,139,250,.1),transparent 60%);opacity:.5;pointer-events:none;z-index:0}.auth-card>*{position:relative;z-index:1}.auth-logo{display:flex;justify-content:center;align-items:center;margin-bottom:24px}.logo-img{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(124,92,255,.25));transition:transform .3s ease}.logo-img:hover{transform:scale(1.05)}.auth-card h1{margin:0 0 32px;font-size:28px;font-weight:850;text-align:center;letter-spacing:-.4px;background:linear-gradient(135deg,var(--p1),var(--p2));-webkit-background-clip:text;background-clip:text;color:transparent}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:10px;font-weight:700;font-size:14px;color:var(--muted);letter-spacing:.2px}.form-group input{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;font-size:15px;background:#ffffff0a;color:var(--text);transition:all .2s ease;font-family:inherit}.form-group input:focus{outline:none;border-color:#7c5cff66;background:#ffffff0f;box-shadow:0 0 0 3px #7c5cff1a}.form-group input:disabled{background:#ffffff05;cursor:not-allowed;opacity:.6}.form-group input::placeholder{color:var(--muted2)}.error{background:#ff78781f;color:#ffd2d2f2;padding:14px 16px;border-radius:14px;margin-bottom:20px;font-size:14px;border:1px solid rgba(255,120,120,.25);font-weight:600}.btn-primary,.btn-secondary{width:100%;padding:14px 20px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:linear-gradient(135deg,var(--p1),var(--p2));color:#fff;font-size:15px;font-weight:750;cursor:pointer;transition:all .2s ease;box-shadow:0 18px 46px #7c5cff40;font-family:inherit}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 22px 60px #7c5cff54}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-secondary{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text);box-shadow:none}.btn-secondary:hover:not(:disabled){background:#ffffff1a;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:disabled{opacity:.55;cursor:not-allowed;transform:none}.auth-links{margin-top:24px;text-align:center;font-size:14px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.auth-links a{color:var(--muted);text-decoration:none;padding:8px 12px;border-radius:10px;transition:all .2s ease;font-weight:600}.auth-links a:hover{color:var(--text);background:#ffffff0f}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-card{animation:fadeInUp .4s ease-out}.form-group{animation:fadeInUp .4s ease-out backwards}.form-group:nth-child(1){animation-delay:.05s}.form-group:nth-child(2){animation-delay:.1s}.form-group:nth-child(3){animation-delay:.15s}.form-group:nth-child(4){animation-delay:.2s}.state-code,.state-login,.state-success,.state-redirecting{transition:opacity .3s ease,transform .3s ease}.fade-out{opacity:0;transform:translateY(-4px)}.state-success{display:flex;align-items:center;justify-content:center;min-height:400px}.success-message{font-size:20px;font-weight:600;color:var(--text);margin:0;opacity:0;animation:messageFadeIn .4s ease-out .8s forwards}.state-redirecting{display:flex;align-items:center;justify-content:center;min-height:400px}.redirecting-content{text-align:center;animation:redirectingFadeIn .3s ease-out}.spinner{width:40px;height:40px;border:3px solid rgba(124,92,255,.2);border-top-color:var(--p1);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 20px}.redirecting-text{font-size:16px;color:var(--muted);margin:0;font-weight:500}@keyframes redirectingFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.success-animation-container{position:fixed;inset:0;background:#fffffffa;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity .3s ease-in-out}.success-animation-container.success-visible{opacity:1}.success-animation-content{text-align:center;animation:successFadeIn .5s ease-out}.success-checkmark{width:80px;height:80px;margin:0 auto 24px;animation:checkmarkScale .5s ease-out .2s both}.checkmark-svg{width:100%;height:100%}.checkmark-circle{stroke:#10b981;stroke-width:2;stroke-dasharray:166;stroke-dashoffset:166;animation:checkmarkStroke .6s cubic-bezier(.65,0,.45,1) forwards;fill:none}.checkmark-check{stroke:#10b981;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:checkmarkStroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}.success-logo{margin:20px auto;opacity:0;animation:logoFadeIn .4s ease-out .6s forwards}.success-logo-img{height:48px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.success-message{font-size:20px;font-weight:600;color:#0f172a;margin:0;opacity:0;animation:messageFadeIn .4s ease-out .8s forwards}@keyframes successFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes checkmarkScale{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes checkmarkStroke{to{stroke-dashoffset:0}}@keyframes logoFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes messageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:root{--bg: #05050c;--panel: rgba(255, 255, 255, .06);--panel2: rgba(255, 255, 255, .08);--stroke: rgba(255, 255, 255, .1);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .68);--muted2: rgba(255, 255, 255, .54);--p1: #7c5cff;--p2: #a78bfa;--p3: #4c3cff;--shadow: 0 18px 60px rgba(0, 0, 0, .55);--shadow2: 0 12px 36px rgba(0, 0, 0, .45)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}#root{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font-family:inherit}
