@font-face{font-family:Geist;src:url('/fonts/geist-latin.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0100-024F,U+2000-206F,U+20AC,U+2190-21FF}@font-face{font-family:Geist;src:url('/fonts/geist-cyrillic.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0400-052F}@font-face{font-family:Manrope;src:url('/fonts/manrope-latin.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0100-024F,U+2000-206F,U+20AC,U+2190-21FF}@font-face{font-family:Manrope;src:url('/fonts/manrope-cyrillic.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0400-052F}
.auth-locked{overflow:hidden}.auth-locked>.sidebar,.auth-locked>.app-shell{visibility:hidden}.auth-screen{position:fixed;inset:0;z-index:200;background:#f5f2fa;font-family:Geist,sans-serif;display:flex;align-items:flex-end;justify-content:center}.auth-backdrop{position:absolute;inset:0;overflow:hidden;background:linear-gradient(150deg,#f7f5fb 10%,#eee7fc 65%,#faf2cf)}.auth-orb{position:absolute;width:60vw;height:60vw;border-radius:50%;filter:blur(90px);animation:auth-orbit 15s ease-in-out infinite alternate}.orb-one{background:#c8b4f655;left:-20vw;top:-15vw}.orb-two{background:#f9df7766;right:-30vw;bottom:0;animation-delay:-7s}.auth-bg-brand{font:800 clamp(65px,15vw,210px) Manrope,sans-serif;position:absolute;top:13%;left:50%;transform:translateX(-50%);color:#7045d809;letter-spacing:-12px}.auth-sheet{z-index:1;width:min(860px,100%);max-height:94dvh;overflow-y:auto;background:#ffffffed;backdrop-filter:blur(40px) saturate(180%);border:1px solid #7045d825;border-bottom:0;border-radius:26px 26px 0 0;box-shadow:0 -12px 50px #33204c14;padding:17px 26px 24px;position:relative;animation:auth-slide .55s cubic-bezier(.2,.9,.3,1)}.sheet-handle{height:5px;width:48px;background:#e9e4ed;border-radius:10px;margin:0 auto 18px}.auth-brand{text-align:center;margin:0 0 20px}.crystal-logo{display:inline-block;position:relative;font:900 italic 65px Manrope,sans-serif;letter-spacing:-8px;line-height:1.15;background:linear-gradient(110deg,#4a227f,#a381f4 25%,#f7dd77 40%,#7140bc 55%,#c4acf9 80%,#5b259d);background-size:200%;background-clip:text;-webkit-text-fill-color:transparent;animation:crystal-shimmer 8s linear infinite}.crystal-logo>span{font-size:30px;position:absolute;top:0;right:-14px}.auth-brand p{font-size:13px;color:#6e6878;margin:9px 0 0}.auth-tabs{display:flex;background:#f5f3f8;border:1px solid #e8e2ef;border-radius:9px;padding:4px;margin-bottom:18px}.auth-tabs button{width:50%;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px;font-size:13px;color:#78707f;transition:background .25s,box-shadow .25s}.auth-tabs button.active{background:var(--purple);color:white;box-shadow:0 4px 15px #7045d83d}.auth-sheet svg{height:17px;width:17px}.auth-sheet label{font-size:13px;color:#4d4359;margin:14px 0 7px}.auth-sheet input{width:100%;padding:12px 14px;border:1px solid #ded6e8;background:#fbf9fd;font-size:14px;color:#33263e;font-family:Geist,sans-serif}.auth-sheet input:focus{border-color:var(--purple);outline:3px solid #7045d812}.password-wrap{position:relative}.password-wrap input{padding-right:45px}.password-wrap button{position:absolute;right:7px;top:8px;padding:5px;color:#95879f}.auth-primary{margin-top:17px;width:100%;background:var(--purple);color:white;padding:13px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:9px;font-weight:600}.auth-primary:disabled{opacity:.65}.auth-primary.loading svg{animation:spin 1s linear infinite}.auth-divider{margin:20px 0 14px;border-top:1px solid #eee8f4;text-align:center;height:1px}.auth-divider span{font-size:10px;color:#a596b3;background:#fff;padding:0 10px;position:relative;top:-8px}.auth-demo{width:100%;padding:12px;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff7d8;border:1px solid #f0df9e;color:#76612e;font-size:13px}.auth-local-label{display:flex;align-items:center;justify-content:center;gap:5px;font-size:9px;color:#aaa0b5;margin:14px 0 0}.auth-local-label svg{width:12px;height:12px}#auth-error{font-size:12px;line-height:1.6;color:#ca4e6a;margin:9px 0 0;min-height:0}#auth-error:empty{display:none}#auth-success{position:absolute;inset:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3}.success-ring{width:95px;height:95px;border-radius:50%;display:grid;place-items:center;background:#f0e9fc;box-shadow:0 0 0 14px #7045d807;animation:success-pop .6s cubic-bezier(.2,1.5,.5,1)}.success-ring svg{width:60px;height:60px;stroke:var(--purple);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:check-draw .6s .25s forwards}#auth-success p{font-size:12px;color:#a398b0}@keyframes auth-slide{from{transform:translateY(100%);opacity:.2}to{transform:translateY(0);opacity:1}}@keyframes auth-orbit{to{transform:translate(15%,15%) scale(1.15)}}@keyframes crystal-shimmer{to{background-position:200%}}@keyframes check-draw{to{stroke-dashoffset:0}}@keyframes success-pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:800px){.auth-sheet{padding-left:28px;padding-right:28px}.auth-brand{margin-bottom:20px}.auth-screen:has(#auth-name-row:not([hidden])) .auth-brand{display:none}}@media(prefers-reduced-motion:reduce){.auth-screen *{animation:none!important}.success-ring svg{stroke-dashoffset:0}}
.auth-screen{padding-top:env(safe-area-inset-top);overflow-y:auto;overscroll-behavior:contain}.auth-sheet{padding-bottom:max(24px,env(safe-area-inset-bottom));scroll-padding-block:24px}.auth-sheet label{display:block}.auth-sheet input{scroll-margin-block:90px}.password-wrap button{min-width:36px;min-height:36px;top:5px;display:grid;place-items:center}.auth-tabs button,.auth-primary,.auth-demo{min-height:46px;touch-action:manipulation}@media(max-width:600px){.auth-sheet{padding-left:20px;padding-right:20px;border-radius:24px 24px 0 0;max-height:100dvh}.auth-sheet input{font-size:16px;min-height:48px}.auth-brand{margin-bottom:22px}.auth-bg-brand{letter-spacing:-4px;top:8%}.auth-tabs button{font-size:13px}.auth-local-label{font-size:10px;line-height:1.5;text-align:center}.auth-screen:has(input:focus){align-items:flex-start}.auth-screen:has(input:focus) .auth-sheet{margin-top:auto}.auth-sheet .crystal-logo{font-size:54px}}@media(max-height:600px){.auth-brand,.sheet-handle{display:none}.auth-sheet{max-height:100dvh;padding-top:16px}.auth-tabs{margin-bottom:10px}.auth-divider{margin-top:16px}.auth-sheet label{margin-top:10px}}

/* Ensure the welcome overlay respects the HTML hidden attribute. */
#auth-success[hidden], .auth-screen[hidden] { display: none !important; }
