*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%}body{background:#000;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}.scene{position:relative;height:100vh;width:100vw}.brand{position:absolute;top:28px;left:32px;z-index:5;color:#fff;font-weight:700;letter-spacing:-.02em;font-size:18px}.brand span{color:#00e676}.login-card{width:300px;min-height:480px;padding:28px 24px;border-radius:22px;background:#fff;border:1px solid #e6e8ec;box-shadow:0 24px 70px #0000008c;color:#0f172a;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;justify-content:center;pointer-events:none}.login-card input,.login-card .btn,.login-card .btn-github,.login-card .link-btn{pointer-events:auto}.brand-logo{display:block;height:50px;width:auto;margin:0 0 18px;object-fit:contain}.login-card h2{margin:0 0 4px;font-size:17px;font-weight:700;color:#0b1220}.login-card p.subtitle{margin:0 0 18px;font-size:12px;color:#6b7280}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.06em}.field input{width:100%;padding:11px 12px;border-radius:10px;border:1px solid #d8dce2;background:#f7f8fa;color:#0f172a;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:#9aa1ac}.field input:focus{border-color:#00e676;box-shadow:0 0 0 3px #00e6762e}.field input.otp{text-align:center;letter-spacing:12px;font-size:22px;font-weight:700;padding-left:12px;color:#0b1220}.btn{width:100%;padding:11px 12px;border-radius:10px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:transform .08s,opacity .15s,background .15s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:#00e676;color:#05291a}.btn-primary:hover:not(:disabled){background:#00c853}.btn-github{background:#18181b;color:#fff;border:1px solid rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:#9aa1ac;font-size:11px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e6e8ec}.message{margin:0 0 12px;font-size:12px;padding:9px 11px;border-radius:9px;line-height:1.4}.message.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.message.info{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.link-btn{background:none;border:none;color:#059669;font-size:12px;cursor:pointer;padding:8px 0 0}
