/* SCI-LENS sign-in — night ground, purple glow, gold rule; Nohemi + Manrope. */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body.si { min-height: 100vh; min-height: 100dvh; background: #0D0A10; color: #F4EFE8; font: 16px/1.6 Manrope, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; -webkit-font-smoothing: antialiased; }
.si a { color: #C99CF0; }
.si :focus-visible { outline: 2px solid #FFD700; outline-offset: 3px; }
.si-wrap { min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: max(1.25rem, env(safe-area-inset-top)) 1.25rem max(1.25rem, env(safe-area-inset-bottom)); background: radial-gradient(90% 60% at 50% -10%, rgba(122, 31, 162, .55), rgba(13, 10, 16, 0) 70%), #0D0A10; }
.si-brand { display: none; }
.si-card { width: 100%; max-width: 420px; padding: 2rem 1.5rem 1.5rem; border-radius: 24px; background: rgba(22, 17, 27, .92); border: 1px solid #2C2333; box-shadow: 0 40px 80px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .04); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.si-card__logo { display: block; height: 24px; width: auto; margin: 0 0 1.75rem; }
.si-eyebrow { margin: 0 0 .35rem; color: #C99CF0; font-size: .75rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.si-title { margin: 0 0 1.25rem; font: 800 clamp(1.75rem, 7vw, 2.1rem)/1.1 Nohemi, Manrope, sans-serif; letter-spacing: -.01em; color: #fff; }
.si-lead { margin: -.5rem 0 1.25rem; color: #B3A9BC; }
.si-msg { margin: 0 0 1.25rem; padding: .75rem .9rem; border-radius: 12px; font-size: .9375rem; font-weight: 600; }
.si-msg--error { background: rgba(255, 139, 126, .1); border: 1px solid rgba(255, 139, 126, .6); }
.si-msg--ok { background: rgba(31, 175, 84, .1); border: 1px solid rgba(31, 175, 84, .6); }
.si-form { display: grid; gap: 1rem; }
.si-field { display: grid; gap: .4rem; }
.si-field > span:first-child { font-size: .875rem; font-weight: 700; color: #F4EFE8; }
.si-field input { width: 100%; min-height: 52px; padding: .8rem 1rem; border-radius: 14px; border: 1px solid #3A2E44; background: #0D0A10; color: #F4EFE8; font: 500 16px/1.3 Manrope, sans-serif; transition: border-color .15s, box-shadow .15s; }
.si-field input:focus { outline: none; border-color: #C99CF0; box-shadow: 0 0 0 4px rgba(201, 156, 240, .18); }
.si-pass { position: relative; display: block; }
.si-pass input { padding-right: 3.25rem; }
.si-eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border: 0; border-radius: 10px; background: transparent; color: #B3A9BC; cursor: pointer; display: grid; place-items: center; }
.si-eye svg { width: 20px; height: 20px; }
.si-eye[aria-pressed="true"] { color: #FFD700; }
.si-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; font-size: .9375rem; }
.si-check { display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; color: #D9D1E0; min-height: 44px; }
.si-check input { width: 18px; height: 18px; accent-color: #631384; }
.si-btn { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; margin-top: .25rem; border: 0; border-radius: 999px; background: #631384; color: #fff; font: 700 1rem/1 Manrope, sans-serif; letter-spacing: .04em; text-decoration: none; cursor: pointer; box-shadow: 0 12px 30px rgba(99, 19, 132, .45); transition: background .2s, transform .1s; }
.si-btn:hover { background: #7A1FA2; }
.si-btn:active { transform: scale(.99); }
.si-btn.is-busy { opacity: .7; cursor: progress; }
.si-alt { margin: 1.25rem 0 0; font-size: .9375rem; }
.si-foot { margin: 1.5rem 0 0; padding-top: 1rem; border-top: 1px solid #2C2333; font-size: .875rem; text-align: center; }
.si-foot a { color: #B3A9BC; }
@media (min-width: 900px) {
	.si-wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; padding: 0; place-items: stretch; background: #0D0A10; }
	.si-brand { display: flex; flex-direction: column; justify-content: center; padding: 4rem clamp(3rem, 6vw, 6rem); background: radial-gradient(120% 90% at 0% 0%, rgba(122, 31, 162, .75), rgba(13, 10, 16, 0) 65%), radial-gradient(60% 50% at 100% 100%, rgba(255, 215, 0, .08), rgba(13, 10, 16, 0) 70%), #120E16; border-right: 1px solid #2C2333; }
	.si-brand__logo { height: 40px; width: auto; }
	.si-brand__area { margin: 1.5rem 0 0; font: 800 clamp(3.5rem, 6vw, 5.5rem)/.9 Nohemi, sans-serif; text-transform: uppercase; color: #fff; letter-spacing: -.01em; }
	.si-brand__line { margin: 1.25rem 0 0; max-width: 26rem; color: #D9D1E0; font-size: 1.125rem; }
	.si-brand__rule { display: block; width: 72px; height: 3px; margin-top: 2rem; background: #FFD700; border-radius: 2px; }
	.si-card { align-self: center; justify-self: center; margin: 2rem; background: transparent; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
	.si-card__logo { display: none; }
}
@media (prefers-reduced-motion: reduce) { .si * { transition: none !important; } }
