:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;display:flex;justify-content:center;align-items:center}.app-container[data-theme=light]{background:linear-gradient(135deg,#f5f7fa,#e0f7fa)}.app-container[data-theme=dark]{background:linear-gradient(135deg,#1a1a1a,#2c2c2c)}.app-container{display:flex;justify-content:center;align-items:center;padding:40px;width:100%;transition:background .5s ease-in-out}.auth-card-wrapper{perspective:1000px;transition:transform .3s ease}.auth-card-wrapper:hover{transform:scale(1.02)}.auth-card{background:#ffffffe6;border-radius:16px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);padding:2.5rem;max-width:400px;width:100%;text-align:center;transition:all .3s ease}.app-container[data-theme=dark] .auth-card{background:#2c2c2ccc;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.title{font-size:2.2rem;font-weight:700;color:#1a1a1a;text-shadow:0 2px 4px rgba(0,0,0,.05);margin-bottom:.5rem}.app-container[data-theme=dark] .title{color:#e0e0e0;text-shadow:0 2px 4px rgba(0,0,0,.2)}.subtitle{font-size:1.1rem;color:#666;margin-bottom:2rem;line-height:1.4}.app-container[data-theme=dark] .subtitle{color:#a0a0a0}.input-group{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:1.2rem}.email-input{padding:.9rem;font-size:1rem;border:1px solid rgba(0,0,0,.1);border-radius:8px;outline:none;background:#f7f7f7;color:#1a1a1a;transition:border-color .3s,box-shadow .3s;appearance:none;-webkit-appearance:none;-moz-appearance:none}.app-container[data-theme=dark] .email-input{border:1px solid rgba(255,255,255,.2);background:#333;color:#e0e0e0}.email-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff33}.email-input:disabled{background:#e0e0e0;color:#888;cursor:not-allowed}.connect-button{padding:.9rem;font-size:1rem;font-weight:600;color:#fff;background:#007bff;border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.app-container[data-theme=dark] .connect-button{background:#007bff}.connect-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 0 15px #007bff80;background:#0056b3}.connect-button:disabled{background:#ccc;cursor:not-allowed}.connect-button:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#fff3;transition:left .3s}.connect-button:hover:not(:disabled):after{left:100%}.error-message{color:#d32f2f;font-size:.9rem;margin-top:.8rem;text-align:left;padding:.5rem;border-left:3px solid #d32f2f;background:#d32f2f1a}.app-container[data-theme=dark] .error-message{color:#ef5350;background:#ef535033;border-left:3px solid #ef5350}.status-message{display:flex;align-items:center;gap:.6rem;color:#2e7d32;font-size:1rem;margin-top:1.2rem;padding:.5rem;border-left:3px solid #2e7d32;background:#2ecc711a}.status-message.not-connected{color:#d32f2f;border-left:3px solid #d32f2f;background:#d32f2f1a}.app-container[data-theme=dark] .status-message{color:#4caf50;background:#4caf5033;border-left:3px solid #4caf50}.app-container[data-theme=dark] .status-message.not-connected{color:#ef5350;background:#ef535033;border-left:3px solid #ef5350}.success-icon,.not-connected-icon{font-size:1.3rem;font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}@media (max-width: 480px){.auth-card{padding:2rem}.title{font-size:1.8rem}.subtitle{font-size:1rem}}
