:root{color-scheme:light;--ink:#0b1936;--muted:#64748b;--line:#b8c1cc}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;width:100%}body{font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;background:#f9fafc;color:var(--ink);overflow-x:hidden}
.login-page{display:grid;grid-template-columns:minmax(390px,32%) minmax(0,1fr);min-height:100dvh}
.sign-in{min-width:0;display:flex;flex-direction:column;padding:clamp(24px,3.3vw,64px);background:#fafbfc;z-index:1}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:clamp(17px,1.35vw,25px);white-space:nowrap}.brand svg{width:58px;flex-shrink:0;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}
.sign-in-content{margin:auto 0;padding:64px 0}h1{font-size:clamp(28px,2.15vw,42px);line-height:1.15;letter-spacing:-.035em;margin:0 0 14px}.intro{color:var(--muted);margin:0 0 42px}label{display:block;font-weight:500;margin-bottom:8px}input,button{font:inherit;width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}input{padding:12px 14px}input::placeholder{color:#8793a4}.field-hint{font-size:12px;color:var(--muted);margin:6px 0 24px}.google-button{display:flex;justify-content:center;align-items:center;gap:14px;padding:12px;cursor:pointer;font-weight:500}.google-button svg{width:23px;height:23px;flex-shrink:0}.google-button:hover{background:#f0f4f8}.google-button:disabled{opacity:.55;cursor:wait}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #81b0df;outline-offset:3px}.invitation-note,.privacy-note{color:var(--muted);font-size:13px}.invitation-note{margin:30px 0 0}.privacy-note{margin:0}.status{font-size:14px;overflow-wrap:anywhere}.status:empty{display:none}.status.error{color:#a42135}.switch-account{font-size:14px;padding:8px;margin-top:12px;cursor:pointer}
.login-art{position:relative;overflow:hidden;min-width:0;min-height:100dvh;background:#d7e1e9}.login-art img{position:absolute;right:0;top:0;width:135.17%;height:100%;max-width:none;object-fit:cover;object-position:right center}
[hidden]{display:none!important}
.back-to-map{display:inline-block;margin-top:16px;color:#163f73;font-size:14px;text-decoration:underline;text-underline-offset:3px}.back-to-map:focus-visible{outline:3px solid #81b0df;outline-offset:4px}
.sign-in-content{padding:32px 0}.intro{margin-bottom:24px}
#passwordLoginForm label:not(:first-child),#registrationForm label:not(:first-child){margin-top:14px}
.primary-button{margin-top:20px;background:#163f73;border-color:#163f73;color:#fff;font-weight:650;cursor:pointer}.primary-button:hover{background:#0d2f59}.primary-button:disabled{opacity:.55;cursor:wait}
.registration-prompt{text-align:center;font-size:13px;margin:16px 0}.text-button{display:inline;width:auto;min-height:0;border:0;border-radius:3px;background:none;color:#163f73;padding:4px 0;font-size:inherit;text-decoration:underline;cursor:pointer}
.sign-in-divider{margin:18px 0;color:var(--muted);font-size:13px;text-align:center}.privacy-note{font-size:12px}
@media(max-width:760px){.login-page{display:block}.sign-in{min-height:100dvh;padding:28px 24px}.sign-in-content{padding:56px 0}.brand{font-size:21px}.login-art{display:none}.privacy-note{margin-bottom:12px}}
@media(max-height:650px) and (min-width:761px){.sign-in-content{padding:32px 0}.intro{margin-bottom:24px}}

@media(max-width:760px){.sign-in{padding:24px 20px}.brand{font-size:clamp(17px,5.2vw,21px);gap:8px;max-width:100%}.brand svg{width:48px}.sign-in-content{padding:40px 0}.intro{margin-bottom:28px}input,button{font-size:16px;min-height:48px}.google-button{gap:10px}.invitation-note{margin-top:24px}}

#registerBio{display:block;width:100%;max-width:40ch;min-height:0;resize:vertical;font:16px/1.5 ui-monospace,Consolas,monospace;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}#registerBio:focus-visible{outline:3px solid #81b0df;outline-offset:3px}
#registerBioField{margin-top:14px}

#discordSection{margin-top:10px}.discord-button{border-color:#c2c6f5}.discord-button:hover{background:#eef0ff}

.registrationHome{margin:18px 0;font-size:13px}.registrationHome label{display:flex;align-items:flex-start;gap:10px}.registrationHome input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:18px;padding:0;margin:2px 0}.registrationHome .field-hint{margin:6px 0 18px}

/* Keep the established aircraft and wordmark; the OAuth square icon is separate. */
.brand{font-size:clamp(22px,1.8vw,30px);gap:12px;max-width:100%;white-space:nowrap;line-height:1.2}.brand svg{width:80px;height:auto;aspect-ratio:64/40}.brand span{flex:0 0 auto;white-space:nowrap}.loginBetaLabel{position:absolute;top:18px;right:24px;z-index:3;font-size:12px;line-height:16px;color:#526174;background:#ffffffd9;border-radius:4px;padding:4px 8px}
@media(max-width:760px){.sign-in{padding-top:60px}.brand{font-size:clamp(19px,5.2vw,23px);gap:10px}.brand svg{width:64px}.loginBetaLabel{top:12px;right:20px}}
