.login-root{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;-webkit-user-select:none;user-select:none}.login-root #scene{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(120% 90% at 50% 40%,#2a5bd7,#1b3a9a 45%,#0b1a4a)}.login-root #world{position:absolute;top:0;right:0;bottom:0;left:0;transition:filter .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.login-root[data-s=auth] #world{filter:blur(20px) saturate(1.25) brightness(.6);transform:scale(1.12)}.login-root[data-s=open] #world{filter:blur(28px) saturate(1.3) brightness(.85);transform:scale(1.18)}.login-root .plane{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;display:grid;gap:18px;transform:rotate(14deg);transform-origin:center}.login-root #back{opacity:.45;filter:blur(2.5px)}.login-root #mid{opacity:.92}.login-root .col{display:flex;flex-direction:column;gap:18px;will-change:transform}.login-root .tile{border-radius:16px;overflow:hidden;position:relative;box-shadow:0 18px 40px -14px #00082099}.login-root .tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;border:1px solid rgba(255,255,255,.18);pointer-events:none}.login-root #grade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(120deg,#2f86ff,#2f62e6 55%,#4a5cf0 85%,#6d6cf5);mix-blend-mode:color;opacity:.6}.login-root #glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(60% 50% at 50% 45%,rgba(120,175,255,.28),transparent 70%);mix-blend-mode:soft-light}.login-root .streak-base{stroke-width:1.5;opacity:.22}.login-root .streak-run{stroke-width:2.2;stroke-linecap:round;stroke-dasharray:220 980;animation:login-dash 8s linear infinite;opacity:.75}.login-root .streak-run.b{animation-duration:11s;animation-delay:-4s;opacity:.55}@keyframes login-dash{to{stroke-dashoffset:-1200}}.login-root .glass{position:absolute;border-radius:16px;background:linear-gradient(135deg,#ffffff38,#ffffff0a);border:1px solid rgba(255,255,255,.24);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 12px 32px #000a2859}.login-root .leaf{position:absolute;filter:blur(8px);pointer-events:none}.login-root #veil{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(65% 55% at 50% 48%,#0810308c,#060c24b8);transition:background .6s ease,opacity .6s ease;opacity:.85}.login-root[data-s=auth] #veil{background:#060a1a7a;opacity:1}.login-root[data-s=open] #veil{background:#4f5bd559;opacity:1}.login-root #tint{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;background:radial-gradient(60% 55% at 50% 50%,rgba(244,63,94,.28),transparent 70%);transition:opacity .35s ease}.login-root #tint.flash{opacity:1}.login-root .stage{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:28px 20px;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}.login-root:not([data-s=idle]) #s-idle{opacity:0;transform:translateY(-28px) scale(.97);pointer-events:none}.login-root:not([data-s=auth]) #s-auth{opacity:0;transform:translateY(24px) scale(.96);pointer-events:none}.login-root:not([data-s=open]) #s-open{opacity:0;transform:scale(1.04);pointer-events:none}@keyframes login-shake{0%,to{transform:translate(0)}20%{transform:translate(-9px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(4px)}}.login-root .shake{animation:login-shake .42s cubic-bezier(.36,.07,.19,.97)}@keyframes login-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.login-root .cue{animation:login-float 2.4s ease-in-out infinite}.login-root .dot{width:12px;height:12px;border-radius:999px;border:2px solid var(--muted);transition:all .15s ease}.login-root .dot.on{background:var(--accent);border-color:var(--accent);transform:scale(1.12)}.login-root .key:active{transform:scale(.94)}@media(prefers-reduced-motion:reduce){.login-root *,.login-root *:before,.login-root *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
