:root {
  --lz-background: #080a09;
  --lz-surface: #101311;
  --lz-surface-elevated: #171b18;
  --lz-green: #b9ff35;
  --lz-text: #f4f7f2;
  --lz-muted: #9da69f;
  --lz-border: #292e2a;
  --lz-field-border: #465047;
  --lz-error: #ff8a8a;
  --lz-success: #86d52f;
  --lz-control-height: 3.25rem;
}

* { box-sizing: border-box; }
body.leaguezap-login { min-width: 20rem; min-height: 100vh; color: var(--lz-text); color-scheme: dark; background: radial-gradient(circle at 50% 0, rgba(185,255,53,.08), transparent 26rem), var(--lz-background); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body.leaguezap-login::before { position: fixed; inset: 0; z-index: -1; content: ""; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.018) 1px, transparent 1px); background-size: 4rem 4rem; }
body.leaguezap-login #login { width: min(calc(100% - 2rem),32rem); padding: 4rem 0 2rem; }
.leaguezap-login .wp-login-logo { margin-bottom: 1.5rem; }
.leaguezap-login .wp-login-logo a { width: 5rem; height: 5rem; margin: 0 auto; background-image: url('../images/z-icon.png'); background-position: center; background-size: contain; }
.leaguezap-login-intro { margin-bottom: 1.5rem; text-align: center; }
.leaguezap-login-intro .leaguezap-login-eyebrow { margin: 0 0 .55rem; color: var(--lz-green); font-size: .7rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.leaguezap-login-intro h2 { margin: 0; color: #fff; font-size: clamp(2rem,8vw,3.25rem); line-height: .92; letter-spacing: -.055em; text-transform: uppercase; }
.leaguezap-login-intro > p:last-child { margin: .9rem auto 0; color: var(--lz-muted); font-size: .95rem; line-height: 1.6; }
.leaguezap-login-recovery { margin: 0 0 1rem; color: var(--lz-muted); text-align: center; }
.leaguezap-login-recovery a { color: var(--lz-green); font-weight: 800; }
.leaguezap-login form { margin-top: 0; padding: 1.6rem; border: 1px solid var(--lz-border); background: rgba(16,19,17,.96); border-radius: 1.25rem; box-shadow: 0 22px 65px rgba(0,0,0,.38); }
.leaguezap-login form label { color: #e8ece9; font-size: .82rem; font-weight: 750; }
.leaguezap-login form .input, .leaguezap-login input[type="text"], .leaguezap-login input[type="email"], .leaguezap-login input[type="password"] { min-height: var(--lz-control-height); margin-top: .45rem; padding: .7rem .85rem; caret-color: var(--lz-green); color: var(--lz-text); border: 1px solid var(--lz-field-border); background: var(--lz-surface-elevated); border-radius: .6rem; box-shadow: none; font-size: 1rem; }
.leaguezap-login form .input::placeholder { color: #8f9991; opacity: 1; }
.leaguezap-login form .input:hover:not(:disabled) { border-color: #647066; }
.leaguezap-login form .input:focus, .leaguezap-login input[type="text"]:focus, .leaguezap-login input[type="email"]:focus, .leaguezap-login input[type="password"]:focus { border-color: var(--lz-green); box-shadow: 0 0 0 2px rgba(185,255,53,.18); outline: 0; }
.leaguezap-login form .input:disabled { cursor: not-allowed; color: #8a938c; border-color: #303631; background: #111412; opacity: .76; }
.leaguezap-login form .input:user-invalid, .leaguezap-login form .input[aria-invalid="true"] { border-color: var(--lz-error); box-shadow: 0 0 0 1px rgba(255,138,138,.22); }
.leaguezap-login form .input:user-valid, .leaguezap-login form .input[aria-invalid="false"].is-valid { border-color: var(--lz-success); }
.leaguezap-login input:-webkit-autofill, .leaguezap-login input:-webkit-autofill:hover, .leaguezap-login input:-webkit-autofill:focus { -webkit-text-fill-color: var(--lz-text); caret-color: var(--lz-green); -webkit-box-shadow: 0 0 0 1000px var(--lz-surface-elevated) inset; box-shadow: 0 0 0 1000px var(--lz-surface-elevated) inset; transition: background-color 9999s ease-out 0s; }
.leaguezap-login .wp-pwd { position: relative; }
.leaguezap-login .wp-pwd .input { padding-right: 3rem; }
.leaguezap-login .wp-pwd .button.wp-hide-pw { min-width: 2.75rem; min-height: 2.75rem; color: var(--lz-muted); border: 0; background: transparent; box-shadow: none; }
.leaguezap-login .wp-pwd .button.wp-hide-pw:hover { color: var(--lz-text); background: rgba(255,255,255,.055); }
.leaguezap-login .wp-pwd .button.wp-hide-pw:focus-visible { color: var(--lz-green); outline: 2px solid var(--lz-green); outline-offset: -3px; }
.leaguezap-login input[type="checkbox"] { border-color: var(--lz-field-border); background: var(--lz-surface-elevated); accent-color: var(--lz-green); box-shadow: none; }
.leaguezap-login input[type="checkbox"]:focus { border-color: var(--lz-green); box-shadow: 0 0 0 2px rgba(185,255,53,.18); outline: 0; }
.leaguezap-login input[type="checkbox"]:checked { border-color: var(--lz-green); background: var(--lz-green); }
.leaguezap-login .forgetmenot { display: flex; align-items: center; min-height: 2.5rem; }
.leaguezap-login .submit { clear: both; }
.leaguezap-login #wp-submit { float: none; width: 100%; min-height: 3rem; color: #080a09; border: 0; background: var(--lz-green); border-radius: 999px; font-size: .78rem; font-weight: 900; letter-spacing: .07em; text-shadow: none; text-transform: uppercase; box-shadow: none; }
.leaguezap-login #wp-submit:hover, .leaguezap-login #wp-submit:focus { color: #080a09; background: #d0ff78; }
.leaguezap-login #nav, .leaguezap-login #backtoblog, .leaguezap-login .privacy-policy-page-link { color: var(--lz-muted); text-align: center; }
.leaguezap-login #nav a, .leaguezap-login #backtoblog a, .leaguezap-login .privacy-policy-page-link a { color: #dce2dd; }
.leaguezap-login #nav a:hover, .leaguezap-login #nav a:focus, .leaguezap-login #backtoblog a:hover, .leaguezap-login #backtoblog a:focus, .leaguezap-login .privacy-policy-page-link a:hover, .leaguezap-login .privacy-policy-page-link a:focus { color: var(--lz-green); }
.leaguezap-login .notice, .leaguezap-login #login_error, .leaguezap-login .message { margin: 0 0 1rem; color: #dfe5e0; border: 1px solid var(--lz-border); border-left: .2rem solid var(--lz-green); background: var(--lz-surface); border-radius: .55rem; box-shadow: none; }
.leaguezap-login #login_error { color: #ffe1e1; border-left-color: var(--lz-error); background: rgba(255,138,138,.08); }
.leaguezap-login .message, .leaguezap-login .notice-success { color: #e7ffbd; border-left-color: var(--lz-success); background: rgba(134,213,47,.08); }
.leaguezap-login .notice a, .leaguezap-login #login_error a, .leaguezap-login .message a { color: var(--lz-green); }
.leaguezap-login .language-switcher { color: var(--lz-muted); }

@media (max-width: 540px) {
  body.leaguezap-login #login { padding-top: 2rem; }
  .leaguezap-login form { padding: 1.25rem; }
  .leaguezap-login .wp-login-logo a { width: 4.25rem; height: 4.25rem; }
}
