@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;600;800&family=Newsreader:ital,wght@0,400;0,600;1,400&family=Fragment+Mono&display=swap");:root{--purple:#b4a4fb;--purple-soft:#ebe4fb;--purple-mid:#747cb4;--purple-deep:#645c8c;--navy:#2c455f;--slate:#6e7884;--ink:#1a1a2e;--green:#22c55e;--red:#ef4444}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;font-family:Newsreader,Georgia,serif;background:var(--purple-soft)}.auth-visual{background:var(--navy);position:relative;overflow:hidden;display:flex;flex-direction:column;padding:2.5rem}.auth-visual:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 20% 30%,rgba(180,164,251,.2) 0,transparent 40%),radial-gradient(ellipse at 80% 70%,rgba(100,92,140,.15) 0,transparent 40%),radial-gradient(ellipse at 50% 50%,#2c455f 0,transparent 70%);animation:gradientMove 15s ease-in-out infinite;pointer-events:none}@keyframes gradientMove{0%,to{transform:translate(0) rotate(0deg)}33%{transform:translate(2%,2%) rotate(1deg)}66%{transform:translate(-1%,1%) rotate(-1deg)}}.auth-visual:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(180,164,251,.03) 1px,transparent 0),linear-gradient(90deg,rgba(180,164,251,.03) 1px,transparent 0);background-size:60px 60px;pointer-events:none}.auth-visual-logo{height:28px;width:auto;filter:brightness(0) invert(1);opacity:.9;position:relative;z-index:1}.auth-visual-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:center;padding:3rem 0}.auth-visual-headline{margin-bottom:4rem}.auth-visual-title{font-family:Bricolage Grotesque,sans-serif;font-size:clamp(2.5rem,4vw,3.5rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--purple-soft);margin-bottom:0}.auth-visual-title em{display:block;font-family:Newsreader,serif;font-style:italic;font-weight:400;color:var(--purple)}.auth-visual-display{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(180,164,251,.15)}.auth-visual-display-item{background:var(--navy);padding:1.5rem;position:relative;overflow:hidden;transition:background .3s}.auth-visual-display-item:hover{background:rgba(180,164,251,.05)}.auth-visual-display-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--purple),transparent);opacity:0;transition:opacity .3s}.auth-visual-display-item:hover:before{opacity:1}.auth-visual-display-icon{width:28px;height:28px;margin-bottom:1rem;color:var(--purple);opacity:.8}.auth-visual-display-icon svg{width:100%;height:100%}.auth-visual-display-label{font-family:Fragment Mono,monospace;font-size:.5625rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:rgba(180,164,251,.5);margin-bottom:.5rem}.auth-visual-display-value{font-family:Newsreader,serif;font-size:1.25rem;font-weight:400;color:var(--purple-soft);line-height:1.2}.auth-visual-footer{position:relative;z-index:1;display:flex;align-items:center;gap:.75rem}.auth-visual-footer-dot{width:8px;height:8px;background:var(--green);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.auth-visual-footer-text{font-family:Fragment Mono,monospace;font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(180,164,251,.4)}.auth-form-panel{display:flex;flex-direction:column;justify-content:center;padding:3rem;position:relative;background:var(--purple-soft)}.auth-form-container{max-width:400px;width:100%;margin:0 auto}.auth-form-header{margin-bottom:2.5rem}.auth-form-logo-mobile{display:none;height:28px;margin-bottom:2rem}.auth-form-label{font-family:Fragment Mono,monospace;font-size:.5625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--purple-deep);margin-bottom:.75rem}.auth-form-title{font-family:Bricolage Grotesque,sans-serif;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;color:var(--ink);line-height:1.1;letter-spacing:-.02em;margin-bottom:.5rem}.auth-form-subtitle{font-size:1rem;color:var(--slate);line-height:1.6}.auth-mode-switcher{display:flex;gap:0;margin-bottom:2rem;background:rgba(180,164,251,.2);border-radius:0;overflow:hidden}.auth-mode-btn{flex:1;padding:.875rem 1rem;font-family:Fragment Mono,monospace;font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);background:transparent;border:none;cursor:pointer;transition:all .3s ease}.auth-mode-btn.active{background:var(--purple);color:var(--ink)}.auth-mode-btn:hover:not(.active){color:var(--ink);background:rgba(180,164,251,.1)}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.5rem}.auth-field-label{font-family:Fragment Mono,monospace;font-size:.625rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.auth-field-input{width:100%;padding:.875rem 1rem;font-family:Newsreader,serif;font-size:1rem;color:var(--ink);background:hsla(0,0%,100%,.6);border:1px solid rgba(180,164,251,.3);border-radius:0;outline:none;transition:all .2s ease}.auth-field-input::-moz-placeholder{color:var(--slate)}.auth-field-input::placeholder{color:var(--slate)}.auth-field-input:focus{border-color:var(--purple);background:hsla(0,0%,100%,.9);box-shadow:0 0 0 3px rgba(180,164,251,.15)}.auth-field-input:disabled{opacity:.6;cursor:not-allowed}.auth-message{padding:.875rem 1rem;font-size:.875rem;text-align:center}.auth-message.error{background:rgba(239,68,68,.1);color:var(--red);border:1px solid rgba(239,68,68,.2)}.auth-message.success{background:rgba(34,197,94,.1);color:var(--green);border:1px solid rgba(34,197,94,.2)}.auth-btn-primary{width:100%;padding:1rem;font-family:Fragment Mono,monospace;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--purple);border:none;border-radius:0;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-btn-primary:hover:not(:disabled){background:var(--navy);color:var(--purple-soft)}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-btn-primary .spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.auth-btn-text{width:100%;padding:.75rem;font-family:Fragment Mono,monospace;font-size:.6875rem;font-weight:500;letter-spacing:.05em;color:var(--slate);background:transparent;border:none;cursor:pointer;transition:color .2s}.auth-btn-text:hover{color:var(--purple-deep)}.auth-form-footer{margin-top:2rem;text-align:center}.auth-form-footer-text{font-size:.875rem;color:var(--slate)}.auth-form-footer-link{color:var(--purple-deep);text-decoration:none;font-weight:600;transition:color .2s}.auth-form-footer-link:hover{color:var(--purple)}.auth-back-link{display:inline-flex;align-items:center;gap:.5rem;font-family:Fragment Mono,monospace;font-size:.6875rem;font-weight:500;letter-spacing:.05em;color:var(--slate);text-decoration:none;margin-bottom:2rem;background:none;border:none;cursor:pointer;padding:0;transition:color .2s}.auth-back-link:hover{color:var(--purple-deep)}.auth-back-link svg{width:14px;height:14px}.auth-back-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:.75rem;background:rgba(180,164,251,.15);border:1px solid rgba(180,164,251,.3);border-radius:50%;cursor:pointer;transition:all .2s;vertical-align:middle;color:var(--slate)}.auth-back-button:hover{background:rgba(180,164,251,.25);border-color:var(--purple);color:var(--purple-deep)}.auth-back-button svg{width:14px;height:14px}.auth-code-inputs{display:flex;justify-content:center;gap:.75rem;margin:1.5rem 0}.auth-code-input{width:52px;height:64px;text-align:center;font-family:Fragment Mono,monospace;font-size:1.75rem;font-weight:600;color:var(--ink);background:hsla(0,0%,100%,.8);border:2px solid rgba(180,164,251,.4);border-radius:8px;outline:none;transition:all .2s ease;caret-color:var(--purple)}.auth-code-input:focus{border-color:var(--purple);background:#fff;box-shadow:0 0 0 4px rgba(180,164,251,.2);transform:translateY(-2px)}.auth-code-input:disabled{opacity:.6;cursor:not-allowed}.auth-code-input:not(:-moz-placeholder){border-color:var(--purple);background:rgba(235,228,251,.5)}.auth-code-input:not(:placeholder-shown){border-color:var(--purple);background:rgba(235,228,251,.5)}.auth-resend-section{text-align:center;padding-top:.5rem}.auth-resend-text{font-size:.875rem;color:var(--slate)}.auth-resend-countdown{color:var(--purple-mid);font-weight:500}.auth-resend-button{background:none;border:none;color:var(--purple-deep);font-weight:600;cursor:pointer;transition:color .2s;padding:0;font-size:inherit;font-family:inherit}.auth-resend-button:hover{color:var(--purple)}.auth-resend-button:disabled{color:var(--slate);cursor:not-allowed}@media (max-width:1024px){.auth-page{grid-template-columns:1fr}.auth-visual{display:none}.auth-form-logo-mobile{display:block}.auth-form-panel{padding:2rem}}@media (max-width:640px){.auth-form-row{grid-template-columns:1fr}.auth-form-panel{padding:1.5rem}}