:root{--font-system:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font:var(--font-system);--font-display:var(--font-system);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--r-sm:6px;--r-xl:24px;--ease:cubic-bezier(.25, .46, .45, .94);--bg-0:#f0ebe3;--text-1:#2b261e}*,:before,:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}body{font-family:var(--font);background:var(--bg-0);color:var(--text-1);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.55;overflow:hidden}body.auth-gate-active{--font:var(--font-system);--font-display:var(--font)}.security-warning-banner{z-index:99999;color:#fff;text-align:center;background:#dc2626;padding:12px 20px;font-size:.95rem;font-weight:700;line-height:1.4;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #0000004d}.auth-gate{padding:clamp(24px, 5vh, 56px) var(--sp-4);z-index:2000;background:radial-gradient(circle at top,#5f825c38,#0000 34%),radial-gradient(circle at 100% 100%,#b06f4a2e,#0000 30%),#151915;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:auto}.auth-gate-shell{flex-direction:column;align-items:center;gap:clamp(16px,3vh,28px);width:min(460px,92vw);display:flex}.auth-gate-brand{filter:drop-shadow(0 22px 38px #0000006b);justify-content:center;width:min(540px,96vw);display:flex}.auth-gate-logo{aspect-ratio:600/258;object-fit:contain;object-position:center;width:min(540px,96vw);height:auto;margin:0;display:block}.auth-gate-card{width:min(380px,100%);padding:var(--sp-8) var(--sp-6);border-radius:var(--r-xl);text-align:center;background:#20261f;border:1px solid #d5cab424;box-shadow:0 22px 60px #00000061}.auth-gate-card h1{margin:0 0 var(--sp-1);color:#f2eddc;font-family:var(--font-display);font-size:26px;font-weight:400}.auth-gate-card .auth-gate-subtitle{margin:0 0 var(--sp-6);color:#bcc3b7;font-size:13px}.auth-gate-card form{gap:var(--sp-3);text-align:left;flex-direction:column;display:flex}.auth-gate-card label{gap:var(--sp-1);color:#d7ddcf;flex-direction:column;font-size:13px;font-weight:600;display:flex}.auth-gate-identity-label{gap:var(--sp-2)}.auth-gate-identity-label .auth-gate-field-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-gate-identity-field{border-radius:var(--r-sm);min-height:46px;transition:background .16s var(--ease), border-color .16s var(--ease), box-shadow .16s var(--ease);background:#111510d1;border:1px solid #d5cab424;padding:3px 12px;display:block}.auth-gate-identity-field:focus-within{background:#111510f5;border-color:#9fb66a;box-shadow:0 0 0 3px #9fb66a33}.auth-gate-card input{box-sizing:border-box;border-radius:var(--r-sm);color:#f5f0de;width:100%;transition:border-color .16s var(--ease), box-shadow .16s var(--ease);background:#111510;border:1px solid #d5cab424;padding:10px 12px;font-size:14px}.auth-gate-card input::placeholder{color:#7f887b}.auth-gate-card input:focus{border-color:#9fb66a;outline:none;box-shadow:0 0 0 3px #9fb66a33}.auth-gate-identity-field input{background:0 0;border:0;padding:10px 0}.auth-gate-identity-field input:focus{box-shadow:none;border-color:#0000}.auth-gate-card button[type=submit]{margin-top:var(--sp-2);border-radius:var(--r-sm);color:#182010;cursor:pointer;transition:background .16s var(--ease), transform .16s var(--ease);background:#8cae56;border:none;padding:10px;font-size:14px;font-weight:600}.auth-gate-card button[type=submit]:hover{background:#9fc369;transform:translateY(-1px)}.auth-gate-card button[type=submit]:disabled,.auth-gate-card button[type=submit].gated{opacity:.6;cursor:not-allowed;transform:none}.auth-gate-card button[type=submit].gated{pointer-events:none}.auth-gate-error{margin:var(--sp-2) 0 0;color:#ffd5cf;border-radius:var(--r-sm);background:#923e2f4d;border:1px solid #dd756542;padding:8px 12px;font-size:13px}.auth-gate-link-btn{padding:var(--sp-1) 0;color:#b8cda4;cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:underline}.auth-gate-link-btn:hover{color:#d5e6c3}@media (width<=520px){.auth-gate{padding-top:max(20px, env(safe-area-inset-top));padding-bottom:max(20px, env(safe-area-inset-bottom));align-items:flex-start}.auth-gate-shell{gap:var(--sp-4);width:min(380px,94vw)}.auth-gate-brand,.auth-gate-logo{width:min(430px,96vw)}.auth-gate-card{padding:var(--sp-6) var(--sp-5)}}@media (height<=720px){.auth-gate{align-items:flex-start}.auth-gate-shell{gap:var(--sp-4)}.auth-gate-brand,.auth-gate-logo{width:min(440px,90vw)}.auth-gate-card{padding-top:var(--sp-6);padding-bottom:var(--sp-6)}}.password-checklist{text-align:left;margin-top:8px}.password-checklist[hidden]{display:none}.password-progress-bar{gap:3px;margin-bottom:10px;display:flex}.password-progress-segment{background:#3a4239;border-radius:2px;flex:1;height:3px;transition:background .2s}.password-progress-segment.filled{background:#9fb66a}.password-checklist-item{color:#6b7566;align-items:center;gap:6px;font-size:11px;line-height:1.7;transition:color .2s;display:flex}.password-checklist-item.met{color:#9fb66a}.password-checklist-item.breached{color:#dd7565}.password-checklist-item.error{color:#8a9382;font-style:italic}.password-checklist-icon{text-align:center;flex-shrink:0;width:14px}.password-checklist-notes{border-top:1px solid #3a4239;margin-top:8px;padding-top:6px}.password-checklist-note{color:#8a9382;font-size:11px;line-height:1.7}@keyframes password-checklist-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.password-checklist-item.hibp-appear{animation:.2s password-checklist-fade-in}.auth-gate-loading{align-items:center;gap:var(--sp-3);padding:var(--sp-6) 0;color:#8a9382;flex-direction:column;font-size:13px;display:flex}.auth-gate-spinner{border:2px solid #3a4239;border-top-color:#9fb66a;border-radius:50%;width:24px;height:24px;animation:.6s linear infinite auth-gate-spin}@keyframes auth-gate-spin{to{transform:rotate(360deg)}}
