@property --virtuum-auth-beam{syntax:"<angle>";inherits:false;initial-value:0deg}@property --virtuum-auth-ring-fill{syntax:"<number>";inherits:false;initial-value:0}.virtuum-auth{--virtuum-color-primary:var(--virtuum-color-auth-brand);--virtuum-color-primary-foreground:var(--virtuum-color-auth-brand-foreground);--virtuum-color-link:var(--virtuum-color-auth-brand);--auth-night:var(--virtuum-color-auth-night);--auth-canvas:var(--virtuum-color-auth-canvas);--auth-brand:var(--virtuum-color-auth-brand);--auth-aurora:var(--virtuum-color-auth-aurora);--auth-ember:var(--virtuum-color-auth-ember);--auth-glass:var(--virtuum-color-auth-glass);--auth-ember-strength:38%;--auth-cyan-strength:45%;--auth-stars:0.55;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-rows:auto 1fr;flex:1 1;min-height:100dvh;background:var(--auth-night);color:var(--auth-glass)}.virtuum-auth[data-period=morning]{--auth-ember-strength:58%;--auth-cyan-strength:50%;--auth-stars:0.25}.virtuum-auth[data-period=night]{--auth-ember-strength:24%;--auth-cyan-strength:38%;--auth-stars:0.9}.virtuum-auth-sky{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(120% 90% at 85% 110%,color-mix(in srgb,var(--auth-canvas) 85%,transparent),transparent 60%),radial-gradient(90% 70% at 0 0,color-mix(in srgb,var(--auth-canvas) 70%,transparent),transparent 70%),var(--auth-night)}.virtuum-auth-aurora{position:absolute;width:70vmax;height:70vmax;border-radius:50%;filter:blur(80px);mix-blend-mode:screen;opacity:.85;will-change:transform}.virtuum-auth-aurora--brand{top:-30vmax;left:-18vmax;background:radial-gradient(circle,color-mix(in srgb,var(--auth-brand) 75%,transparent),transparent 65%);animation:virtuum-auth-drift-a 26s ease-in-out infinite alternate}.virtuum-auth-aurora--cyan{right:-24vmax;bottom:-34vmax;background:radial-gradient(circle,color-mix(in srgb,var(--auth-aurora) var(--auth-cyan-strength),transparent),transparent 62%);animation:virtuum-auth-drift-b 32s ease-in-out infinite alternate}.virtuum-auth-aurora--ember{top:30%;left:18%;width:42vmax;height:42vmax;background:radial-gradient(circle,color-mix(in srgb,var(--auth-ember) var(--auth-ember-strength),transparent),transparent 64%);animation:virtuum-auth-drift-c 22s ease-in-out infinite alternate}.virtuum-auth-stars,.virtuum-auth-stars:before{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 12% 18%,var(--auth-glass),transparent),radial-gradient(1px 1px at 38% 72%,var(--auth-glass),transparent),radial-gradient(1.5px 1.5px at 64% 34%,var(--auth-glass),transparent),radial-gradient(1px 1px at 82% 86%,var(--auth-glass),transparent),radial-gradient(1px 1px at 91% 12%,var(--auth-glass),transparent),radial-gradient(1.5px 1.5px at 24% 92%,var(--auth-glass),transparent);background-size:320px 320px;opacity:var(--auth-stars)}.virtuum-auth-stars{animation:virtuum-auth-twinkle 6s ease-in-out infinite alternate}.virtuum-auth-stars:before{content:"";background-size:470px 470px;background-position:140px 90px;animation:virtuum-auth-twinkle 9s ease-in-out infinite alternate-reverse}.virtuum-auth-grain{position:absolute;inset:0;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.virtuum-auth-constellation{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;-webkit-mask-image:radial-gradient(130% 100% at 50% 50%,var(--auth-glass) 55%,transparent 100%);mask-image:radial-gradient(130% 100% at 50% 50%,var(--auth-glass) 55%,transparent 100%)}.virtuum-auth-showcase{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-width:0;padding:var(--virtuum-space-6) var(--virtuum-space-5) 0;pointer-events:none}.virtuum-auth-pitch{display:flex;flex-direction:column;align-items:center;gap:var(--virtuum-space-3);max-width:34rem;text-align:center;animation:virtuum-auth-rise .9s cubic-bezier(.2,.8,.2,1) both}.virtuum-auth-eyebrow{display:inline-flex;align-items:center;gap:var(--virtuum-space-2);margin:0;padding:var(--virtuum-space-1) var(--virtuum-space-3);border:1px solid color-mix(in srgb,var(--auth-glass) 22%,transparent);border-radius:var(--virtuum-radius-full);background:color-mix(in srgb,var(--auth-glass) 8%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:var(--virtuum-font-size-xs);font-weight:var(--virtuum-font-weight-medium);letter-spacing:.08em;text-transform:uppercase}.virtuum-auth-eyebrow-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--auth-ember);box-shadow:0 0 0 0 color-mix(in srgb,var(--auth-ember) 60%,transparent);animation:virtuum-auth-ping 2.4s ease-out infinite}.virtuum-auth-headline{margin:0;font-size:clamp(1.6rem,1.1rem + 2.4vw,3.4rem);font-weight:var(--virtuum-font-weight-bold);line-height:1.08;letter-spacing:-.02em}.virtuum-auth-headline em{font-style:normal;background:linear-gradient(100deg,var(--auth-ember) 0,var(--auth-glass) 35%,var(--auth-aurora) 65%,var(--auth-ember) 100%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:virtuum-auth-sheen 7s linear infinite}.virtuum-auth-rotator{display:flex;flex-wrap:wrap;justify-content:center;gap:.35em;margin:0;color:color-mix(in srgb,var(--auth-glass) 78%,transparent);font-size:clamp(1rem,.9rem + .5vw,1.3rem)}.virtuum-auth-rotator-window{display:inline-block;height:1.4em;overflow:hidden;line-height:1.4em;text-align:left}.virtuum-auth-rotator-track{display:flex;flex-direction:column;animation:virtuum-auth-rotate 12s cubic-bezier(.7,0,.3,1) infinite}.virtuum-auth-rotator-word{color:var(--auth-glass);font-weight:var(--virtuum-font-weight-bold);white-space:nowrap}.virtuum-auth-float{position:absolute;display:none;align-items:center;gap:var(--virtuum-space-3);padding:var(--virtuum-space-3) var(--virtuum-space-4) var(--virtuum-space-3) var(--virtuum-space-3);border:1px solid color-mix(in srgb,var(--auth-glass) 18%,transparent);border-radius:1.1rem;background:linear-gradient(135deg,color-mix(in srgb,var(--auth-glass) 16%,transparent),color-mix(in srgb,var(--auth-glass) 5%,transparent));box-shadow:0 20px 50px -20px color-mix(in srgb,var(--auth-night) 90%,transparent),inset 0 1px 0 color-mix(in srgb,var(--auth-glass) 25%,transparent);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);font-size:var(--virtuum-font-size-sm);white-space:nowrap}.virtuum-auth-float-text{display:flex;flex-direction:column;line-height:1.25}.virtuum-auth-float-text strong{font-weight:var(--virtuum-font-weight-bold)}.virtuum-auth-float-text span{color:color-mix(in srgb,var(--auth-glass) 72%,transparent);font-size:var(--virtuum-font-size-xs)}.virtuum-auth-float-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.75rem;background:color-mix(in srgb,var(--auth-aurora) 26%,transparent);color:var(--auth-aurora)}.virtuum-auth-float-icon--ember{background:color-mix(in srgb,var(--auth-ember) 24%,transparent);color:var(--auth-ember)}.virtuum-auth-ring{--virtuum-auth-ring-fill:var(--progress);display:grid;place-items:center;flex:none;width:2.25rem;height:2.25rem;border-radius:50%;background:conic-gradient(var(--auth-aurora) calc(var(--virtuum-auth-ring-fill) * 1%),color-mix(in srgb,var(--auth-glass) 14%,transparent) 0);-webkit-mask:radial-gradient(circle,transparent 54%,var(--auth-glass) 56%);mask:radial-gradient(circle,transparent 54%,var(--auth-glass) 56%);animation:virtuum-auth-ring 2.2s cubic-bezier(.2,.8,.2,1) 1.2s both}.virtuum-auth-float--1{top:14%;left:8%;animation:virtuum-auth-pop .7s cubic-bezier(.2,.9,.3,1.3) .5s both,virtuum-auth-bob 7s ease-in-out 1.2s infinite}.virtuum-auth-float--2{top:22%;right:6%;animation:virtuum-auth-pop .7s cubic-bezier(.2,.9,.3,1.3) .8s both,virtuum-auth-bob 8s ease-in-out 1.5s infinite reverse}.virtuum-auth-float--3{bottom:18%;left:12%;animation:virtuum-auth-pop .7s cubic-bezier(.2,.9,.3,1.3) 1.1s both,virtuum-auth-bob 9s ease-in-out 1.8s infinite}.virtuum-auth-float--4{right:10%;bottom:11%;animation:virtuum-auth-pop .7s cubic-bezier(.2,.9,.3,1.3) 1.4s both,virtuum-auth-bob 7.5s ease-in-out 2.1s infinite reverse}.virtuum-auth-panel{z-index:2;align-items:center;justify-content:center;gap:var(--virtuum-space-4);min-width:0;padding:var(--virtuum-space-6) var(--virtuum-space-4)}.virtuum-auth-card,.virtuum-auth-panel{position:relative;display:flex;flex-direction:column}.virtuum-auth-card{--virtuum-color-foreground:var(--virtuum-color-auth-ink);--virtuum-color-muted-foreground:var(--virtuum-color-auth-ink-muted);--virtuum-color-surface:color-mix(in srgb,var(--auth-glass) 72%,transparent);--virtuum-color-surface-muted:color-mix(in srgb,var(--auth-brand) 8%,transparent);--virtuum-color-border:var(--virtuum-color-auth-hairline);--virtuum-color-background:var(--auth-glass);--virtuum-color-ring:var(--virtuum-color-auth-link);--virtuum-color-danger:var(--virtuum-color-auth-danger);--virtuum-color-link:var(--virtuum-color-auth-link);gap:var(--virtuum-space-5);width:100%;max-width:26rem;padding:var(--virtuum-space-6) var(--virtuum-space-5);border:1px solid color-mix(in srgb,var(--auth-glass) 45%,transparent);border-radius:1.75rem;background:linear-gradient(160deg,color-mix(in srgb,var(--auth-glass) 74%,transparent),color-mix(in srgb,var(--auth-glass) 66%,transparent));box-shadow:0 40px 90px -30px color-mix(in srgb,var(--auth-night) 95%,transparent),inset 0 1px 0 color-mix(in srgb,var(--auth-glass) 80%,transparent);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);color:var(--virtuum-color-auth-ink);animation:virtuum-auth-card-in .9s cubic-bezier(.2,.8,.2,1) .15s both}.virtuum-auth-card:before{inset:0;background:radial-gradient(120% 60% at 0 0,color-mix(in srgb,var(--auth-glass) 45%,transparent),transparent 55%)}.virtuum-auth-card:after,.virtuum-auth-card:before{content:"";position:absolute;border-radius:inherit;pointer-events:none}.virtuum-auth-card:after{inset:-1.5px;padding:1.5px;background:conic-gradient(from var(--virtuum-auth-beam),transparent 0deg,var(--auth-aurora) 50deg,var(--auth-brand) 90deg,transparent 140deg,transparent 200deg,var(--auth-ember) 250deg,transparent 300deg);-webkit-mask:linear-gradient(var(--auth-glass) 0 0) content-box,linear-gradient(var(--auth-glass) 0 0);mask:linear-gradient(var(--auth-glass) 0 0) content-box,linear-gradient(var(--auth-glass) 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:virtuum-auth-beam 8s linear infinite}.virtuum-auth-card>*{position:relative;z-index:1}.virtuum-auth-heading{display:flex;flex-direction:column;align-items:center;gap:var(--virtuum-space-2);text-align:center}.virtuum-auth-wordmark{position:relative;margin:0 0 var(--virtuum-space-2);font-size:var(--virtuum-font-size-2xl);font-weight:var(--virtuum-font-weight-bold);line-height:var(--virtuum-line-height-tight);letter-spacing:.12em;text-transform:uppercase;animation:virtuum-auth-rise .8s cubic-bezier(.2,.8,.2,1) .35s both}.virtuum-auth-wordmark:before{content:"";position:absolute;top:-30%;left:8%;width:45%;height:90%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--auth-ember) 30%,transparent),transparent 70%);filter:blur(14px);z-index:-1;animation:virtuum-auth-breathe 5s ease-in-out infinite}.virtuum-auth-logo{display:block;width:15rem;max-width:100%;height:auto}.virtuum-auth-greeting{margin:0;font-size:var(--virtuum-font-size-xl);font-weight:var(--virtuum-font-weight-bold);animation:virtuum-auth-rise .8s cubic-bezier(.2,.8,.2,1) .5s both}.virtuum-auth-greeting span{display:inline-block;transform-origin:70% 70%;animation:virtuum-auth-wave 2.4s ease-in-out 1.4s 2}.virtuum-auth-subtitle{margin:0;color:var(--virtuum-color-muted-foreground);font-size:var(--virtuum-font-size-sm);animation:virtuum-auth-rise .8s cubic-bezier(.2,.8,.2,1) .6s both}.virtuum-auth-card h2{margin:0;font-size:var(--virtuum-font-size-lg);font-weight:var(--virtuum-font-weight-bold)}.virtuum-auth-card .virtuum-login-form{animation:virtuum-auth-rise .8s cubic-bezier(.2,.8,.2,1) .7s both}.virtuum-auth-card input{height:3rem;border-radius:.875rem;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.virtuum-auth-card input:hover:not(:disabled){border-color:color-mix(in srgb,var(--auth-brand) 45%,var(--virtuum-color-auth-hairline))}.virtuum-auth-card input:focus{border-color:var(--auth-brand);background-color:var(--auth-glass);box-shadow:0 0 0 4px color-mix(in srgb,var(--auth-brand) 18%,transparent)}.virtuum-auth-card .virtuum-login-actions button[type=submit]{position:relative;overflow:hidden;flex:1 1 100%;height:3rem;border-radius:.875rem;background-image:linear-gradient(135deg,var(--auth-brand) 0,color-mix(in srgb,var(--auth-brand) 55%,var(--auth-canvas)) 100%);box-shadow:0 14px 30px -12px color-mix(in srgb,var(--auth-brand) 80%,transparent),inset 0 1px 0 color-mix(in srgb,var(--auth-glass) 30%,transparent);font-weight:var(--virtuum-font-weight-bold);letter-spacing:.01em;transition:box-shadow .16s ease}.virtuum-auth-card .virtuum-login-actions button[type=submit]:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,color-mix(in srgb,var(--auth-glass) 35%,transparent) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease}.virtuum-auth-card .virtuum-login-actions button[type=submit]:hover:after{transform:translateX(120%)}.virtuum-auth-card .virtuum-login-actions button[type=submit]:hover{box-shadow:0 20px 36px -12px color-mix(in srgb,var(--auth-brand) 90%,transparent),inset 0 1px 0 color-mix(in srgb,var(--auth-glass) 30%,transparent)}.virtuum-auth-card .virtuum-login-actions button[type=button]{height:3rem;border-radius:.875rem}.virtuum-auth-card .virtuum-login-form a,.virtuum-auth-card .virtuum-login-notice a{font-size:var(--virtuum-font-size-sm);font-weight:var(--virtuum-font-weight-bold);text-decoration:none}.virtuum-auth-card .virtuum-login-form a:hover{text-decoration:underline;text-underline-offset:3px}.virtuum-auth-card p{margin:0}.virtuum-auth-card .virtuum-muted{font-size:var(--virtuum-font-size-sm);line-height:var(--virtuum-line-height-normal)}.virtuum-auth-card .virtuum-error{padding:var(--virtuum-space-3) var(--virtuum-space-3) var(--virtuum-space-3) var(--virtuum-space-4);border-radius:.75rem;background:color-mix(in srgb,var(--virtuum-color-auth-danger) 9%,transparent);color:var(--virtuum-color-auth-danger);font-size:var(--virtuum-font-size-sm);font-weight:var(--virtuum-font-weight-medium);animation:virtuum-auth-shake .42s cubic-bezier(.36,.07,.19,.97) both}.virtuum-auth-footnote{display:inline-flex;align-items:center;gap:var(--virtuum-space-2);margin:0;color:color-mix(in srgb,var(--auth-glass) 70%,transparent);font-size:var(--virtuum-font-size-xs);text-align:center;animation:virtuum-auth-rise .8s cubic-bezier(.2,.8,.2,1) 1s both}.virtuum-auth-footnote svg{flex:none;color:var(--auth-aurora)}.virtuum-auth-heading+.virtuum-auth-subtitle{margin-top:calc(-1 * var(--virtuum-space-3));text-align:center}.virtuum-auth-badge{display:inline-block;padding:.2rem var(--virtuum-space-3);border-radius:var(--virtuum-radius-full);background:var(--virtuum-color-auth-ink);color:var(--virtuum-color-auth-glass);font-size:var(--virtuum-font-size-xs);font-weight:var(--virtuum-font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.virtuum-auth-card label{display:inline-block;margin-bottom:var(--virtuum-space-1)}.virtuum-auth-card :has(>input+span>button[aria-pressed]){position:relative}.virtuum-auth-card input:has(+span>button[aria-pressed]){padding-right:7.5rem}.virtuum-auth-card input+span:has(>button[aria-pressed]){position:absolute;top:0;right:var(--virtuum-space-1);bottom:0;display:flex;align-items:center}.virtuum-auth-card button[aria-pressed]{min-height:2.25rem;padding:0 var(--virtuum-space-2);border:0;border-radius:.625rem;background:transparent;color:var(--virtuum-color-auth-ink-muted);font-size:var(--virtuum-font-size-xs);font-weight:var(--virtuum-font-weight-medium);text-decoration:none}.virtuum-auth-card button[aria-pressed]:hover{color:var(--virtuum-color-auth-ink)}.virtuum-auth-card .virtuum-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:3rem;border-radius:.875rem;font-weight:var(--virtuum-font-weight-medium);text-decoration:none;transition:border-color .16s ease,background-color .16s ease}.virtuum-auth-card .virtuum-button-secondary{border:1px solid var(--virtuum-color-auth-hairline);background:color-mix(in srgb,var(--virtuum-color-auth-glass) 60%,transparent);color:var(--virtuum-color-auth-ink)}.virtuum-auth-card .virtuum-button-secondary:hover{border-color:var(--virtuum-color-auth-link);background:var(--virtuum-color-auth-glass)}.virtuum-auth-card hr{position:relative;height:1px;margin:var(--virtuum-space-1) 0;border:0;overflow:visible;background:linear-gradient(90deg,transparent 0,var(--virtuum-color-auth-hairline) 20%,var(--virtuum-color-auth-hairline) 43%,transparent 43%,transparent 57%,var(--virtuum-color-auth-hairline) 57%,var(--virtuum-color-auth-hairline) 80%,transparent 100%)}.virtuum-auth-card hr:after{content:"ou"/"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--virtuum-color-auth-ink-muted);font-size:var(--virtuum-font-size-xs);font-weight:var(--virtuum-font-weight-medium);letter-spacing:.08em;text-transform:uppercase}@media (min-width:64rem){.virtuum-auth{grid-template-rows:none;grid-template-columns:minmax(0,1.15fr) minmax(30rem,.85fr)}.virtuum-auth-showcase{padding:var(--virtuum-space-7)}.virtuum-auth-pitch{align-items:flex-start;text-align:left}.virtuum-auth-rotator{justify-content:flex-start}.virtuum-auth-float{display:inline-flex}.virtuum-auth-panel{padding:var(--virtuum-space-7)}.virtuum-auth-card{padding:var(--virtuum-space-7) var(--virtuum-space-6)}}@media (max-width:63.99rem){.virtuum-auth-rotator{display:none}}@keyframes virtuum-auth-drift-a{to{transform:translate(14vmax,10vmax) scale(1.15)}}@keyframes virtuum-auth-drift-b{to{transform:translate(-16vmax,-8vmax) scale(1.1)}}@keyframes virtuum-auth-drift-c{to{transform:translate(20vmax,-14vmax) scale(.85)}}@keyframes virtuum-auth-twinkle{0%{opacity:calc(var(--auth-stars) * .4)}to{opacity:var(--auth-stars)}}@keyframes virtuum-auth-rise{0%{opacity:0;transform:translateY(14px)}}@keyframes virtuum-auth-card-in{0%{opacity:0;transform:perspective(1200px) translateY(28px) rotateX(8deg) scale(.97)}}@keyframes virtuum-auth-pop{0%{opacity:0;transform:translateY(18px) scale(.85)}}@keyframes virtuum-auth-bob{50%{transform:translateY(-12px)}}@keyframes virtuum-auth-sheen{to{background-position:-220% 0}}@keyframes virtuum-auth-rotate{0%,20%{transform:translateY(0)}25%,45%{transform:translateY(-1.4em)}50%,70%{transform:translateY(-2.8em)}75%,95%{transform:translateY(-4.2em)}to{transform:translateY(-5.6em)}}@keyframes virtuum-auth-ping{70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes virtuum-auth-ring{0%{--virtuum-auth-ring-fill:0}}@keyframes virtuum-auth-beam{to{--virtuum-auth-beam:360deg}}@keyframes virtuum-auth-breathe{50%{opacity:.55;transform:scale(1.12)}}@keyframes virtuum-auth-wave{0%,60%,to{transform:rotate(0deg)}10%,30%{transform:rotate(16deg)}20%,40%{transform:rotate(-8deg)}}@keyframes virtuum-auth-shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}@media (prefers-reduced-motion:reduce){.virtuum-auth *,.virtuum-auth :after,.virtuum-auth :before{animation:none!important;transition:none!important}}