:root{--auth-bg:#050817;--auth-ink:#f6f8fc;--auth-muted:#aeb8ca;--auth-blue:#6f98f3;--auth-blue-strong:#416dce;--auth-line:rgba(170,185,211,.2)}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
.home-page.home.auth-login-page{height:100dvh;min-height:32rem;grid-template-rows:4.5rem minmax(0,1fr) 2.75rem;overflow-x:hidden;overflow-y:auto}
.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:100;padding:.75rem 1rem;background:#fff;color:#111827;transform:translateY(-150%)}.skip-link:focus{transform:none}
.auth-header{z-index:2}
.home-page.home #main-content.hero-content.auth-main{position:relative;z-index:1;grid-row:2;width:100vw!important;max-width:100vw!important;min-height:0;margin:0!important;padding:clamp(1.25rem,4vh,3rem) 1.25rem 3rem!important;overflow:visible}
.home-page.home #main-content.hero-content.auth-main>.hero-copy.auth-panel{width:min(31rem,calc(100% - 2.5rem));display:block;gap:0;margin:0;padding:clamp(1.4rem,3vw,2.25rem);text-align:left}
.auth-panel{position:relative;z-index:2;width:min(31rem,100%);padding:clamp(1.4rem,3vw,2.25rem);border:1px solid var(--auth-line);border-radius:1rem;background:rgba(5,14,31,.55);box-shadow:0 24px 70px rgba(2,8,22,.28),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.home-page.home .auth-panel .auth-heading{width:100%;text-align:center!important}.home-page.home .auth-panel .auth-heading h1{margin:0;color:var(--auth-ink);font-family:Archivo,Arial,sans-serif;font-size:clamp(2rem,3.2vw,2.7rem);font-weight:900;line-height:.95;letter-spacing:-.06em;text-wrap:balance}
.home-page.home .auth-panel .auth-heading h1,.home-page.home .auth-panel .auth-heading p{transition:transform .65s cubic-bezier(.16,1,.3,1),color .5s ease}.home-page.home .auth-panel .auth-heading h1:hover,.home-page.home .auth-panel .auth-heading p:hover{transform:translateY(-2px);color:#fff}
.auth-form{display:grid;gap:.65rem;margin-top:1.5rem}.auth-form label,.auth-label-row a{font-family:Archivo,Arial,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.25rem}.auth-label-row a{color:#b9d0ff;text-decoration:none}.auth-label-row a:hover{text-decoration:underline;text-underline-offset:.25rem}
.auth-form input{width:100%;min-height:3.25rem;padding:.8rem 1rem;border:1px solid var(--auth-line);border-radius:.5rem;outline:0;background:rgba(4,9,25,.68);color:#fff;font:500 1rem "Barlow Semi Condensed",Arial,sans-serif;transition:border-color .25s,background .25s,box-shadow .25s}.auth-form input::placeholder{color:#8390a5}.auth-form input:hover{border-color:rgba(177,208,255,.42)}.auth-form input:focus{border-color:#8eb0ff;background:rgba(7,17,39,.86);box-shadow:0 0 0 3px rgba(111,152,243,.18)}
.auth-password{position:relative}.auth-password input{padding-right:4.5rem}.auth-password button{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);padding:.45rem .55rem;border:0;background:transparent;color:#b9d0ff;font:400 .65rem "Space Mono",monospace;text-transform:uppercase}
.auth-submit{min-height:3.65rem;display:flex;align-items:center;justify-content:space-between;margin-top:.3rem;padding:.8rem 1rem .8rem 1.25rem;border:1px solid #527fe0;border-radius:.5rem;background:var(--auth-blue-strong);color:#fff;font:400 .76rem "Space Mono",monospace;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 30px rgba(49,91,190,.26);transition:transform .7s cubic-bezier(.16,1,.3,1),background .5s,box-shadow .7s,letter-spacing .7s}.auth-submit b{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.3rem;background:rgba(8,13,26,.82);font-size:1rem}.auth-submit:hover{background:#5f8cf0;transform:translateY(-4px) scale(1.025);box-shadow:0 20px 42px rgba(61,108,211,.55);letter-spacing:.025em}.auth-submit:active{transform:translateY(0) scale(.99)}.auth-submit:disabled{cursor:wait;opacity:.65;transform:none}
.turnstile-block{min-height:5.25rem;display:grid;place-items:center;margin-top:.3rem}.turnstile-container{width:100%;min-height:65px;display:grid;place-items:center}.turnstile-container:empty{display:none}.turnstile-status{margin:.25rem 0;color:var(--auth-muted);font-size:.8rem;text-align:center}.turnstile-status[hidden]{display:none}.turnstile-retry{padding:.55rem .7rem;border:1px solid var(--auth-line);border-radius:.35rem;background:rgba(255,255,255,.07);color:#fff;font:400 .65rem "Space Mono",monospace;text-transform:uppercase}.auth-error{margin:.1rem 0;padding:.75rem .85rem;border-left:2px solid #ef9aa7;background:rgba(176,55,79,.14);color:#ffdce2;font-size:.9rem}.auth-help{margin:-.35rem 0 .1rem;color:var(--auth-muted);font-size:.78rem}
.auth-switch{margin:1.25rem 0 0;color:#d8e1f2;font-size:.9rem;text-align:center}.auth-switch button{padding:0;border:0;background:transparent;color:#9dbbff;font:700 inherit;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(157,187,255,.35);text-underline-offset:.25rem}.auth-switch button:hover{color:#fff}
.auth-columns{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.auth-columns>div{display:grid;gap:.65rem}.auth-footer{position:relative;z-index:2;height:2.75rem;display:flex;align-items:center;justify-content:center;gap:clamp(1rem,3vw,2.5rem);color:#7e899b;font-size:.66rem;font-weight:600}.auth-footer a{color:#8f9aac;text-decoration:none}.auth-footer a:hover{color:#fff}
:where(.auth-login-page a,.auth-login-page button,.auth-login-page input):focus-visible{outline:2px solid #b9d0ff;outline-offset:3px}
[hidden]{display:none!important}
@media(max-width:700px){.home-page.home.auth-login-page{grid-template-rows:4rem minmax(0,1fr) 2.75rem}.home-page.home #main-content.hero-content.auth-main{padding-top:1rem!important}.home-page.home #main-content.hero-content.auth-main>.hero-copy.auth-panel{position:relative;top:auto;left:auto;transform:none;width:100%;margin:0 auto;padding:1.25rem}.auth-columns{grid-template-columns:1fr}.auth-heading h1{font-size:2.45rem}}
@media(max-height:760px) and (min-width:701px){.auth-main{place-items:start center;padding-top:1rem}.auth-heading h1{font-size:2.6rem}.auth-panel{padding:1.25rem 1.5rem}.auth-form{margin-top:1rem}.auth-form input{min-height:2.8rem}.auth-submit{min-height:3.1rem}}
@media(prefers-reduced-motion:reduce){.auth-submit,.auth-home,.auth-form input{transition:none}}
.auth-group-guidance {
  margin-top: .7rem;
  padding: .9rem 1rem;
  border-left: 3px solid rgba(126, 160, 255, .75);
  background: rgba(126, 160, 255, .08);
  color: rgba(238, 243, 255, .78);
  font-size: .82rem;
  line-height: 1.5;
}
.auth-group-guidance strong { color: #fff; }
.auth-group-guidance p { margin: .25rem 0 0; }
.auth-inline-action {
  margin-top: .65rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #a8c0ff;
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.auth-group-status:empty { display: none; }
.auth-group-status.is-warning { color: #ffd48a; }
.auth-group-status.is-available { color: #a7e4c0; }
