.login-bg.svelte-mx8d8k{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--kai-gradient-login, linear-gradient(135deg, #667eea 0%, #764ba2 100%));padding:2rem;overflow:hidden}.orb.svelte-mx8d8k{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35}.orb-1.svelte-mx8d8k{width:350px;height:350px;background:#ec4899;top:15%;left:8%;animation:svelte-mx8d8k-drift 8s ease-in-out infinite alternate}.orb-2.svelte-mx8d8k{width:280px;height:280px;background:#8b5cf6;bottom:15%;right:8%;animation:svelte-mx8d8k-drift 6s ease-in-out infinite alternate-reverse}@keyframes svelte-mx8d8k-drift{0%{transform:translate(0)}to{transform:translate(30px,-20px)}}.card.svelte-mx8d8k{position:relative;z-index:2;background:#fff;border-radius:12px;padding:3rem 2.5rem;max-width:440px;width:100%;box-shadow:0 20px 60px #0000004d;text-align:center;display:flex;flex-direction:column;align-items:center;animation:svelte-mx8d8k-card-in .6s ease}@keyframes svelte-mx8d8k-card-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.logo.svelte-mx8d8k{display:block;width:150px;margin:0 auto 24px}h1.svelte-mx8d8k{font-size:2rem;font-weight:700;color:#1a202c;margin:0 0 4px}.subtitle.svelte-mx8d8k{color:#718096;font-size:1rem;margin:0 0 32px}.subtitle.svelte-mx8d8k:has(+.tagline:where(.svelte-mx8d8k)){margin:0 0 6px}.tagline.svelte-mx8d8k{color:#a0aec0;font-size:.85rem;font-style:italic;letter-spacing:.01em;margin:0 0 28px}.error-banner.svelte-mx8d8k{width:100%;display:flex;align-items:center;gap:10px;background:#fed7d7;border:1px solid #fc8181;border-radius:8px;padding:1rem;margin-bottom:20px;font-size:.9rem;color:#742a2a;text-align:left}.ms-btn.svelte-mx8d8k,.dev-btn.svelte-mx8d8k{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.ms-btn.svelte-mx8d8k{background:#fff;border:2px solid #e2e8f0;color:#1a202c}.ms-btn.svelte-mx8d8k:hover{background:#f7fafc;border-color:#cbd5e0;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.dev-btn.svelte-mx8d8k{background:#10b981;color:#fff}.dev-btn.svelte-mx8d8k:hover{background:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.ms-icon.svelte-mx8d8k{display:grid;grid-template-columns:10px 10px;gap:2px}.ms-icon.svelte-mx8d8k div:where(.svelte-mx8d8k){width:10px;height:10px}.spinner-wrap.svelte-mx8d8k{width:100%;display:flex;justify-content:center;padding:16px 0}.spinner.svelte-mx8d8k{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:svelte-mx8d8k-spin 1s linear infinite}@keyframes svelte-mx8d8k-spin{to{transform:rotate(360deg)}}.footer.svelte-mx8d8k{width:100%;margin-top:28px;padding-top:16px;border-top:1px solid #e2e8f0}.footer.svelte-mx8d8k p:where(.svelte-mx8d8k){font-size:.75rem;color:#a0aec0;margin:0}@media(max-width:480px){.card.svelte-mx8d8k{padding:2rem 1.5rem}h1.svelte-mx8d8k{font-size:1.5rem}}.dev-switch.svelte-1x05zx6{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:5;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:center;background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);padding:.5rem .75rem;border-radius:999px;max-width:92vw}.dev-switch.svelte-1x05zx6 span:where(.svelte-1x05zx6){color:#ffffffe6;font-size:.72rem;font-weight:600;letter-spacing:.02em}.dev-switch.svelte-1x05zx6 button:where(.svelte-1x05zx6){display:inline-flex;flex-direction:column;align-items:center;line-height:1.1;background:#fffffff2;color:#1a202c;border:none;border-radius:999px;padding:.3rem .7rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:transform .15s ease,background .15s ease}.dev-switch.svelte-1x05zx6 button:where(.svelte-1x05zx6) em:where(.svelte-1x05zx6){font-style:normal;font-size:.6rem;color:#667eea;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.dev-switch.svelte-1x05zx6 button:where(.svelte-1x05zx6):hover{transform:translateY(-1px);background:#fff}
