*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:#1a2140;color:#f0ebe1;font-family:Jost,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}.auth-page,body{min-height:100vh;overflow-y:auto}.auth-page{display:flex;align-items:center;justify-content:center;padding:40px 20px;position:relative;z-index:1}.auth-nebula{position:fixed;inset:0;z-index:0;pointer-events:none}.auth-nebula-a{width:70vw;height:70vw;top:-25vw;left:-20vw;background:radial-gradient(circle,rgba(72,42,150,.22) 0,transparent 70%);animation:nf 22s ease-in-out infinite alternate}.auth-nebula-a,.auth-nebula-b{position:absolute;border-radius:50%;filter:blur(80px)}.auth-nebula-b{width:55vw;height:55vw;bottom:-18vw;right:-12vw;background:radial-gradient(circle,rgba(25,55,130,.2) 0,transparent 70%);animation:nf 28s ease-in-out infinite alternate-reverse}@keyframes nf{0%{transform:translate(0)scale(1)}to{transform:translate(3%,4%)scale(1.1)}}.auth-card{width:100%;max-width:420px;background:rgba(20,24,52,.88);backdrop-filter:blur(24px) saturate(130%);border:1px solid rgba(212,175,90,.18);border-radius:24px;padding:48px 44px;box-shadow:0 32px 100px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.05);position:relative;overflow:hidden;animation:card-in .7s cubic-bezier(.22,1,.36,1) both}@keyframes card-in{0%{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,90,.35),rgba(155,127,212,.25),transparent)}.auth-logo{font-family:Cormorant Garamond,serif;font-size:28px;font-weight:400;letter-spacing:.06em;color:#f0ebe1;text-decoration:none;text-align:center;display:block;margin-bottom:32px}.auth-logo span{color:#d4af5a}.auth-title{font-family:Cormorant Garamond,serif;font-size:32px;font-weight:300;color:#f5f0e8;text-align:center;line-height:1.15;margin-bottom:8px}.auth-title em{font-style:italic;color:#d4af5a}.auth-subtitle{font-size:14px;color:#6a6258;text-align:center;margin-bottom:36px;line-height:1.6}.auth-form{gap:16px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:7px}.auth-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#8a8278;font-weight:400}.auth-input{background:hsla(0,0%,100%,.07);border:1px solid rgba(212,175,90,.22);border-radius:12px;padding:13px 16px;font-family:Jost,sans-serif;font-size:15px;font-weight:300;color:#f0ebe1;outline:none;transition:border-color .25s,background .25s,box-shadow .25s;width:100%}.auth-input::-moz-placeholder{color:#6a6258}.auth-input::placeholder{color:#6a6258}.auth-input:focus{border-color:rgba(212,175,90,.45);background:hsla(0,0%,100%,.06);box-shadow:0 0 0 3px rgba(212,175,90,.07)}.auth-input.error{border-color:rgba(220,80,80,.5);box-shadow:0 0 0 3px rgba(220,80,80,.06)}.auth-pw-wrap{position:relative}.auth-pw-wrap .auth-input{padding-right:48px}.auth-pw-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#6a6258;font-size:16px;transition:color .2s;padding:4px}.auth-pw-toggle:hover{color:#8a8070}.pw-strength{margin-top:8px}.pw-strength-bars{display:flex;gap:4px;margin-bottom:5px}.pw-bar{flex:1;height:3px;border-radius:2px;background:hsla(0,0%,100%,.07);transition:background .3s}.pw-bar.weak{background:#c0504a}.pw-bar.medium{background:#d4af5a}.pw-bar.strong{background:#5aa86a}.pw-hint{font-size:11px;color:#5a5448;letter-spacing:.03em}.pw-hint.good{color:#5aa86a}.auth-error{background:rgba(200,60,60,.1);border:1px solid rgba(200,60,60,.25);border-radius:10px;padding:10px 14px;font-size:13px;color:#e89090;line-height:1.5;animation:shake .35s ease}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}60%{transform:translateX(6px)}}.btn-submit{width:100%;padding:15px;background:linear-gradient(135deg,#d4af5a,#c09830 50%,#b8913a);background-size:200% auto;color:#0a0c1e;border:none;border-radius:100px;font-family:Jost,sans-serif;font-size:15px;font-weight:400;letter-spacing:.04em;cursor:pointer;transition:all .3s;box-shadow:0 4px 22px rgba(212,175,90,.3);margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px}.btn-submit:hover:not(:disabled){background-position:100%;transform:translateY(-1px);box-shadow:0 8px 30px rgba(212,175,90,.45)}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(10,12,30,.3);border-top-color:#0a0c1e;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.auth-divider{display:flex;align-items:center;gap:14px;margin:22px 0;color:#5a5448;font-size:12px}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:rgba(212,175,90,.1)}.auth-footer{margin-top:28px;text-align:center}.auth-footer-text{font-size:13px;color:#7a7268;margin-bottom:14px}.auth-link{color:#d4af5a;font-size:13px;text-decoration:none;transition:opacity .2s}.auth-link:hover{opacity:.75}.auth-back{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#5a5448;text-decoration:none;letter-spacing:.06em;transition:color .2s;margin-top:10px}.auth-back:hover{color:#6a6258}.auth-consent{margin-top:20px;text-align:center;font-size:11px;color:#6a6258;line-height:1.6}.auth-consent a{color:#6a6258;text-decoration:none}.auth-consent a:hover{color:#6a6258}@media (max-width:480px){.auth-card{padding:32px 24px;margin:20px 0}.auth-title{font-size:26px}}