.auth-page{min-height:calc(100dvh - var(--header-offset) - 4rem);background:radial-gradient(40rem 26rem at 50% 45%, color-mix(in srgb, var(--accent-color) 9%, transparent), transparent 70%);place-items:center;padding:clamp(.5rem,2vw,1.5rem) 1rem;display:grid}.auth-card-split{border:1px solid var(--border-color);background:var(--surface);width:min(100%,940px);min-height:540px;animation:authCardIn .5s var(--ease-out) both;border-radius:24px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden;box-shadow:0 30px 70px -35px #0000008c}[data-theme=light] .auth-card-split{box-shadow:0 30px 70px -40px #1e143c47}@keyframes authCardIn{0%{opacity:0;transform:translateY(12px)}}.auth-banner{background:linear-gradient(#050510 0%,#0a091a 20%,#121029 40%,#1a153c 60%,#241b52 80%,#30226e 100%);align-items:flex-end;display:flex;position:relative;overflow:hidden}[data-theme=light] .auth-banner{background:linear-gradient(#4a7ae8 0%,#7b6ccf 20%,#9b7bc9 35%,#b88ec4 50%,#d4a0c0 65%,#e8b0be 78%,#f0c0b8 90%,#f5c8b0 100%)}.auth-banner:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000,#08061899);position:absolute;inset:45% 0 0}[data-theme=light] .auth-banner:after{background:linear-gradient(#0000,#46286e66)}.auth-banner-glow{z-index:0;background:var(--accent-gradient);filter:blur(80px);opacity:.5;border-radius:50%;width:220px;height:220px;animation:4s ease-in-out infinite alternate pulseGlow;position:absolute;bottom:-60px;right:-60px}@keyframes pulseGlow{0%{opacity:.3;transform:scale(.8)}to{opacity:.6;transform:scale(1.2)}}.auth-banner-content{z-index:4;color:#fff;padding:clamp(1.5rem,4vw,2.75rem);position:relative}.auth-banner-content h2{color:#fff;text-shadow:0 2px 12px #00000059;margin:0 0 .6rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.4}.auth-banner-content p{color:#ffffffd9;text-shadow:0 1px 8px #00000059;max-width:34ch;margin:0;font-size:.95rem;line-height:1.9}.auth-form-section{flex-direction:column;justify-content:center;padding:clamp(1.75rem,5vw,3.25rem);display:flex}.auth-form-header h1{margin:0 0 .35rem;font-size:clamp(1.4rem,2.6vw,1.75rem);line-height:1.5}.auth-form-header p{color:var(--text-secondary);margin:0 0 1.75rem;font-size:.92rem}.auth-form{gap:1.15rem;display:grid}.auth-form .btn{margin-top:.5rem}.auth-field label{color:var(--text-primary);margin-bottom:.45rem;font-size:.88rem;font-weight:700;display:block}.auth-input-wrap{position:relative}.auth-input{border:1px solid var(--border-color);background:var(--background);width:100%;height:50px;color:var(--text-primary);font:inherit;border-radius:12px;padding:0 2.75rem 0 1rem;font-size:1rem;transition:border-color .18s,box-shadow .18s}.auth-input-wrap:has(.auth-input-toggle) .auth-input{padding-left:3rem}.auth-input::placeholder{color:var(--text-secondary);opacity:.55}.auth-input:hover{border-color:color-mix(in srgb, var(--accent-color) 25%, var(--border-color))}.auth-input:focus{border-color:color-mix(in srgb, var(--accent-color) 55%, var(--border-color));box-shadow:var(--focus-ring);outline:none}.auth-input[aria-invalid=true]{border-color:color-mix(in srgb, var(--error) 70%, var(--border-color))}.auth-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--error) 30%, transparent)}.auth-input:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);box-shadow:0 0 0 100px var(--background) inset;caret-color:var(--text-primary)}.auth-input:-webkit-autofill:focus{box-shadow:var(--focus-ring), 0 0 0 100px var(--background) inset}.auth-input-icon{color:var(--text-secondary);pointer-events:none;font-size:.95rem;transition:color .18s;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.auth-input-wrap:focus-within .auth-input-icon{color:var(--accent-color)}.auth-input-toggle{width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;font-size:1rem;transition:color .18s,background-color .18s;display:grid;position:absolute;top:50%;left:.4rem;transform:translateY(-50%)}.auth-input-toggle:hover{color:var(--text-primary);background:var(--card-bg-alt)}.auth-hint{color:var(--text-secondary);margin:.4rem 0 0;font-size:.78rem}.auth-switch{text-align:center;color:var(--text-secondary);margin:1.5rem 0 0;font-size:.9rem}.auth-switch a{margin-inline-start:.25rem;font-weight:700}.auth-message{text-align:center;border-radius:12px;margin:1rem 0 0;padding:.75rem 1rem;font-size:.88rem}.auth-message.is-success{color:#16a34a;background:#16a34a1a}.auth-message.is-error{color:#dc2626;background:#dc26261a}.floating-stars-container{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.floating-star{will-change:transform, opacity;filter:blur(.3px);animation:linear infinite floatStarUp;position:absolute;bottom:-100px}.floating-star svg{filter:hue-rotate(20deg)saturate(1.2)drop-shadow(0 0 8px #648cff66)}body.light-theme .floating-star svg{filter:hue-rotate()saturate()drop-shadow(0 0 6px #b464ff4d)}@keyframes floatStarUp{0%{opacity:0;transform:translateY(0)rotate(0)scale(.5)}5%{opacity:.4}15%{opacity:1}80%{opacity:.8}95%{opacity:0}to{transform:translateY(calc(-100vh - 150px)) rotate(var(--star-rotation,10deg)) scale(1);opacity:0}}.floating-star svg{animation:3s ease-in-out infinite alternate starShimmer}@keyframes starShimmer{0%{filter:hue-rotate(20deg)saturate(1.2)drop-shadow(0 0 5px #648cff4d);transform:scale(1)}to{filter:hue-rotate(20deg)saturate(1.3)drop-shadow(0 0 14px #648cff99);transform:scale(1.08)}}body.light-theme .floating-star svg{animation:3s ease-in-out infinite alternate starShimmerLight}@keyframes starShimmerLight{0%{filter:drop-shadow(0 0 4px #b464ff33);transform:scale(1)}to{filter:drop-shadow(0 0 12px #b464ff80);transform:scale(1.08)}}@keyframes floatStarUpMobile{0%{opacity:0;transform:translateY(0)rotate(0)scale(.4)}10%{opacity:.8}80%{opacity:.6}95%{opacity:0}to{transform:translateY(-250px) rotate(var(--star-rotation,10deg)) scale(.8)}}@media (max-width:900px){.auth-card-split{grid-template-columns:1fr;width:min(100%,520px);min-height:0}.auth-banner{min-height:190px}.floating-star{animation:linear infinite floatStarUpMobile;bottom:-20px}}@media (max-width:480px){.auth-page{padding-inline:.75rem}.auth-card-split{border-radius:20px}.auth-banner{min-height:150px}.auth-banner-content p{display:none}}
