html.portal-active,html.portal-active body{min-height:100%;background-color:#0f172a!important}html.portal-revealing,html.portal-revealing body{overflow:hidden!important}html.portal-active body{background:radial-gradient(closest-side,#1e293b 0%,#0f172a 100%) fixed}.login-portal{z-index:2000;min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));letter-spacing:normal;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f8fafc;background:radial-gradient(closest-side,#1e293b 0%,#0f172a 100%) fixed;justify-content:center;align-items:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:normal;display:flex;position:fixed;inset:0;overflow-y:auto}.portal-card{-webkit-backdrop-filter:blur(12px);text-align:center;z-index:10;width:100%;max-width:420px;transition:transform var(--anim-slide-up-duration) var(--anim-slide-up-easing), opacity var(--anim-slide-up-duration) ease-out;background:0 0;border:1px solid #ffffff1a;border-radius:20px;padding:40px;position:relative;box-shadow:0 20px 25px -5px #00000080,0 8px 10px -6px #00000080}.portal-card h1{color:#fff;letter-spacing:normal;text-shadow:0 10px 20px #000000e6;margin:0 0 8px;font-family:inherit;font-size:1.5rem;font-weight:700}.portal-instructions{color:#94a3b8;margin:0 0 24px;font-size:.9rem;line-height:1.4}.portal-status{color:#60a5fa;min-height:1.5rem;margin:0;font-size:1rem;font-weight:600;line-height:1.5}.portal-status.typewriter-cursor:after{content:"|";color:#60a5fa;margin-left:2px;font-weight:400;animation:.8s infinite portal-cursor}.portal-label{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-card input{color:#f8fafc;width:100%;font:revert;background:#0f172a99;border:1px solid #334155;border-radius:12px;outline:none;margin-bottom:16px;padding:14px 18px;font-size:1rem;transition:all .2s ease-in-out}.portal-card input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f140}.portal-card input.shake-error{background:#ef444433;border-color:#ef4444;animation:.32s ease-in-out portal-shake;box-shadow:0 0 0 3px #ef444440}.portal-card button{color:#fff;width:100%;font:revert;cursor:pointer;background:#6366f1;border:none;border-radius:12px;padding:14px;font-size:1rem;font-weight:600;transition:background .2s ease-in-out,transform .1s;box-shadow:0 4px 12px #6366f14d}.portal-card button:hover{background:#4f46e5;transform:translateY(-1px)}.portal-card button:active{transform:translateY(0)}.portal-egg{vertical-align:middle;background:0 0;border:1.5px solid #60a5fa;border-radius:50%/60% 60% 40% 40%;width:15px;height:20px;margin-left:8px;display:inline-block;position:relative;top:-2px;box-shadow:0 0 12px 2px #3b82f699,inset 0 0 8px 1px #3b82f666}.portal-egg.spinning{animation:portal-spin var(--anim-egg-spin-speed) linear infinite}.portal-egg.recognized{border-color:#34d399;box-shadow:0 0 12px 2px #34d399b3,inset 0 0 8px 1px #34d39980}.portal-status.recognized{color:#34d399;font-weight:600}.login-portal.blur,.login-portal.reveal{background:0 0}.portal-active .session-content{opacity:0;filter:blur(16px)brightness(.7);transition:opacity .5s ease-out, filter var(--anim-unblur-duration) var(--anim-slide-up-easing);pointer-events:none}.portal-blurred .session-content{opacity:1}.portal-revealing .session-content{filter:blur()brightness()}.reveal .portal-card{opacity:0;transform:translateY(-100vh)}.portal-active #root{overflow:hidden}.session-controls{justify-content:flex-end;padding:1rem;display:flex}.session-controls button{color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);cursor:pointer;border-radius:.75rem;padding:.5rem 1rem}.session-error{color:var(--text-h);padding:0 1rem}@keyframes portal-spin{to{transform:rotate(360deg)}}@keyframes portal-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes portal-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}@media (prefers-reduced-motion:reduce){.login-portal,.portal-card,.portal-card button,.portal-card input,.portal-card input.shake-error,.portal-egg.spinning,.portal-status.typewriter-cursor:after,.portal-active .session-content{transition:none;animation:none}}.portal-google{flex-direction:column;align-items:center;gap:1rem;display:flex}
