@keyframes authRise{0%{transform:translateY(14px)}to{transform:none}}@keyframes authDrift{0%{transform:translate(0) scale(1)}50%{transform:translate(16px,-18px) scale(1.07)}to{transform:translate(0) scale(1)}}.auth{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(32px,5vw,64px) 24px;overflow:hidden;background:var(--background);color:var(--foreground);font-family:var(--font-sans);.auth__bg{inset:0;pointer-events:none;overflow:hidden}.auth__bg,.blob{position:absolute}.blob{border-radius:50%;filter:blur(52px)}.blob--a{top:-160px;right:-80px;width:520px;height:520px;background:radial-gradient(circle,oklch(.74 .18 130/.13),transparent 68%);animation:authDrift 10s ease-in-out infinite}.blob--b{bottom:-180px;left:-100px;width:480px;height:480px;background:radial-gradient(circle,oklch(.46 .1 155/.1),transparent 68%);animation:authDrift 12s ease-in-out 2s infinite}.auth__col{position:relative;width:100%;max-width:408px}.rise{animation:authRise .6s cubic-bezier(.16,1,.3,1) both}.auth__head{text-align:center;margin-bottom:22px}.auth__logo{height:36px;width:auto;display:inline-block}.auth__sub{margin:14px 0 0;font-size:14.5px;color:var(--muted-foreground)}.card{border:1px solid color-mix(in oklch,var(--border) 70%,transparent);border-radius:20px;padding:clamp(26px,3vw,34px);box-shadow:0 12px 34px -16px oklch(.3 .08 163/.18)}.card,.gbtn{background:var(--card)}.gbtn{width:100%;height:50px;border-radius:10px;border:1px solid var(--border);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:11px;font-size:15px;font-weight:600;color:var(--foreground);font-family:var(--font-sans);white-space:nowrap;transition:background .15s ease,border-color .15s ease}.gbtn:hover{background:var(--accent);border-color:color-mix(in oklch,var(--border) 60%,var(--foreground) 10%)}.gbtn:active{transform:scale(.99)}.auth-or{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--muted-foreground);font-size:12.5px}.auth-or:after,.auth-or:before{content:"";flex:1;height:1px;background:var(--border)}.auth-label{display:block;font-size:13px;font-weight:600;color:var(--foreground);margin:0 0 8px}.auth-field{position:relative;margin-bottom:18px}.fld{width:100%;height:48px;border:1px solid var(--input);border-radius:10px;background:var(--card);padding:0 14px;font-size:15px;color:var(--foreground);font-family:var(--font-sans);transition:border-color .15s ease,box-shadow .15s ease}.fld--mono,.fld--pw{font-family:var(--font-mono)}.fld--pw{padding-right:46px;letter-spacing:.02em}.fld:focus-visible{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklch,var(--ring) 16%,transparent)}.fld::placeholder{color:color-mix(in oklch,var(--muted-foreground) 78%,transparent)}.pw-eye{position:absolute;right:8px;bottom:7px;width:34px;height:34px;border:none;background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--muted-foreground);border-radius:8px}.pw-eye:hover{color:var(--foreground);background:var(--accent)}.auth-row{display:flex;align-items:center;justify-content:flex-end;margin:-2px 0 22px}.auth-link{font-size:13px;font-weight:600;color:var(--primary);text-decoration:none;background:none;border:none;cursor:pointer;font-family:var(--font-sans);padding:0}.auth-link:hover{text-decoration:underline}.auth-msg{font-size:13.5px;line-height:1.6;border-radius:10px;padding:10px 13px;margin:0 0 16px}.auth-msg--err{color:var(--destructive);background:color-mix(in oklch,var(--destructive) 9%,transparent)}.auth-msg--ok{color:var(--primary);background:color-mix(in oklch,var(--primary) 9%,transparent)}.auth-msg svg{flex:none}.auth-instruction{margin:0 0 18px;font-size:14px;line-height:1.8;color:var(--foreground-secondary);text-wrap:pretty}.auth-submit{width:100%;height:50px;border-radius:10px;border:none;cursor:pointer;background:var(--primary);color:var(--primary-foreground);font-size:15.5px;font-weight:700;font-family:var(--font-sans);display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:filter .15s ease,transform .12s ease}.auth-submit:hover:not(:disabled){filter:brightness(1.06)}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-submit:disabled{opacity:.6;cursor:default}.auth-submit svg{flex:none}.auth-signup{margin:20px 0 0;text-align:center;font-size:14px;color:var(--muted-foreground)}.auth-below{margin-top:24px;text-align:center;display:flex;flex-direction:column;align-items:center}.auth-demo__btn{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:700;color:var(--primary);text-decoration:none;white-space:nowrap;background:none;border:none;cursor:pointer;font-family:var(--font-sans);transition:gap .15s ease}.auth-demo__btn:hover{gap:11px}.auth-demo__btn svg{flex:none}.auth-secure{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:12px;color:var(--muted-foreground)}.auth-secure svg{flex:none}.auth-legal{margin:18px auto 0;max-width:32ch;font-size:11.5px;line-height:1.7}.auth-legal,.auth-legal a{color:var(--muted-foreground)}.auth-legal a{text-decoration:none}.auth-legal a:hover{color:var(--primary)}}@media (prefers-reduced-motion:reduce){.auth .rise{animation:none}.auth .blob{animation:none!important}}