.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(340px,44%) 1fr;background:var(--bg,#f5f7fb);color:var(--text,#17243a)}.auth-aside{background:linear-gradient(155deg,#0c2449,#123b73 55%,#15609f);color:white;padding:clamp(30px,5vw,80px);display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.auth-brand,.auth-top{display:flex;align-items:center;gap:12px}.auth-brand img,.auth-top img{width:43px;height:43px;border-radius:13px}.auth-brand strong{font-size:23px;letter-spacing:-.04em}.auth-kicker{letter-spacing:.2em;color:#9ac6fc;font-size:12px;font-weight:700}.auth-aside h1{font-size:clamp(38px,4vw,64px);letter-spacing:-.055em;line-height:1.15;margin:22px 0}.auth-aside p{color:#b9d4f5;font-size:17px}.auth-aside small{color:#a8c9ee}.auth-main{display:grid;place-items:center;padding:30px 20px}.auth-card{width:min(100%,480px);background:var(--surface,#fff);border:1px solid var(--line,#e4e9f1);border-radius:24px;box-shadow:0 25px 70px #142f5714;padding:clamp(25px,4vw,46px);display:grid;gap:17px}.auth-top{justify-content:space-between;margin-bottom:8px}.auth-card h2{font-size:31px;letter-spacing:-.04em;margin:0}.auth-card .field{display:grid;gap:8px;font-weight:600;font-size:14px}.auth-card input{width:100%;border:1px solid var(--line,#dce4ef);background:var(--surface,#fff);color:var(--text,#17243a);border-radius:11px;padding:12px 14px;font:inherit}.auth-card input:focus{outline:2px solid #78b7ff;outline-offset:1px}.auth-card input[readonly]{background:var(--bg,#f5f7fb)}.auth-card button{cursor:pointer}.auth-submit{width:100%;justify-content:center;min-height:46px}.auth-description,.auth-hint,.auth-step p{color:var(--muted,#718097);font-size:13px;line-height:1.6;margin:0}.auth-step{padding:18px;border:1px solid var(--line,#e4e9f1);border-radius:16px;background:var(--bg,#f5f7fb);display:grid;gap:12px}.auth-step h3{margin:0;font-size:16px}.auth-step .btn{justify-self:start}.auth-note,.auth-maintenance{padding:12px 15px;border-radius:12px;background:#eaf3ff;color:#315a91;font-size:14px;line-height:1.5;margin:0}.auth-maintenance{background:#fff0dc;color:#88581a}.auth-verified{color:#117d63!important;font-weight:700}.auth-error{color:#bd3a4c;font-size:13px;min-height:1em;margin:0}.auth-links button{border:0;background:none;color:#2875be;padding:0;font:inherit}.auth-restricted{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--bg,#f5f7fb)}.auth-restricted .auth-card{max-width:450px}.production-key{display:block;width:100%;min-height:90px;resize:vertical;word-break:break-all;font:13px/1.5 ui-monospace,monospace;border:1px solid var(--line,#dce4ef);border-radius:10px;padding:12px;background:var(--surface,#fff);color:var(--text,#17243a)}.production-profile-actions{margin-top:20px;padding:24px}.production-profile-actions h2{margin-top:0}.production-profile-actions>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}@media(max-width:800px){.auth-layout{display:block}.auth-aside{min-height:auto;padding:20px;background:transparent;color:var(--text,#17243a)}.auth-aside>div:not(.auth-brand),.auth-aside>small{display:none}.auth-brand strong{font-size:19px}.auth-main{padding:8px 16px 35px;display:block}.auth-card{padding:24px;border-radius:18px;box-shadow:none;max-width:550px;margin:auto}}@media(max-width:390px){.auth-card{padding:20px}.auth-card h2{font-size:27px}}

/* Production contact and authentication surfaces */
.auth-layout,.auth-restricted{
  --canvas:#f5f7fb;--surface:#fff;--surface-2:#f8fbff;--ink:#142547;--ink-2:#334668;
  --muted:#73819a;--line:#e5ebf4;--accent:#3569ea;--accent-soft:#edf3ff;--danger:#d65664;
  --bg:var(--canvas);--text:var(--ink);min-width:0;background:var(--canvas);color:var(--ink);color-scheme:light;
}
html[data-theme="dark"] .auth-layout,html[data-theme="dark"] .auth-restricted{
  --canvas:#0b1324;--surface:#121e33;--surface-2:#17253d;--ink:#edf3ff;--ink-2:#c8d5ee;
  --muted:#b6c5df;--line:#344862;--accent:#8db0ff;--accent-soft:#1b3159;--danger:#ff8391;
  color-scheme:dark;
}
.auth-layout .production-key,.auth-restricted .production-key,dialog#modal .production-key{
  background:var(--surface-2,#f8fbff);color:var(--ink,#142547);border-color:var(--line,#e5ebf4);
  font-size:14px;line-height:1.6;overflow-wrap:anywhere;
}
html[data-theme="dark"] dialog#modal .production-key{background:#1a2b47;color:#f5f8ff;border-color:#526b91}
.auth-layout{grid-template-columns:minmax(330px,42%) minmax(0,1fr)}
.auth-aside{position:sticky;top:0;height:100vh;align-self:start;isolation:isolate;overflow:hidden;background:linear-gradient(146deg,#0d2041 0%,#163b70 60%,#195da1 100%);padding:clamp(28px,4.5vw,76px)}
.auth-aside>*:not(.auth-monogram){position:relative;z-index:1}
.auth-monogram{position:absolute;inset:auto -20% -31% auto;width:min(74vw,780px);aspect-ratio:1;opacity:.18;pointer-events:none;transform:rotate(-13deg)}
.auth-monogram img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) brightness(1.7)}
.auth-aside-message{margin:auto 0}
.auth-aside h1{max-width:650px;font-size:clamp(39px,4.4vw,70px)}
.auth-aside p{font-size:clamp(15px,1.35vw,18px)}
.auth-main{display:block;padding:clamp(28px,5vw,66px) clamp(20px,5vw,72px)}
.auth-stack{width:min(100%,520px);margin:auto;display:grid;gap:18px}
.auth-layout-register .auth-stack{width:min(100%,650px)}
.auth-card{width:100%;box-shadow:0 20px 60px rgba(23,48,91,.08);gap:15px;padding:clamp(25px,3vw,40px)}
.auth-card h2{color:var(--ink);font-size:clamp(26px,2.4vw,34px)}
.auth-card .field{color:var(--ink-2)}
.auth-card input{background:var(--surface);border-color:var(--line);color:var(--ink);min-height:44px}
.auth-card input::placeholder{color:var(--muted)}
.auth-card input[readonly]{background:var(--surface-2)}
.auth-top{display:flex;justify-content:space-between;align-items:center;margin:0 0 2px}
.auth-mobile-brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:17px}
.auth-mobile-brand img{width:35px;height:35px;border-radius:10px}
.auth-form-kicker{color:var(--accent);letter-spacing:.14em;font-size:11px}
.auth-theme-toggle{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);width:38px;height:38px}
.auth-step{background:var(--surface-2);border-color:var(--line);padding:18px;gap:13px}
.auth-step-heading{display:flex;align-items:center;gap:10px}
.auth-step-heading>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:800}
.auth-step h3{color:var(--ink);font-size:15px}
.auth-step .btn{justify-self:start}
.auth-fields-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.auth-fields-two .field{min-width:0}
.auth-otp-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
.auth-otp-row .btn{min-height:44px}
.auth-note{background:var(--accent-soft);color:var(--ink-2)}
.auth-maintenance{background:color-mix(in srgb,var(--accent-soft) 62%,#d59a39 38%);color:var(--ink)}
.auth-links{display:flex;justify-content:center}
.auth-links button{color:var(--accent);font-weight:650}
.auth-submit{min-height:48px}
.auth-hint{color:var(--muted)}
.auth-error{color:var(--danger)}
.auth-contact{padding:20px;border-radius:18px;border:1px solid var(--line);background:var(--surface);box-shadow:0 12px 36px rgba(23,48,91,.035)}
.auth-contact-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:14px}
.auth-contact-head span{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--accent)}
.auth-contact-head h3{margin:2px 0 0;font-size:16px;color:var(--ink)}
.auth-contact-head p{font-size:12px;color:var(--muted);margin:0}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.contact-card{min-width:0;display:flex;align-items:center;gap:14px;padding:22px;border:1px solid var(--line);border-radius:17px;background:var(--surface);color:var(--ink);box-shadow:0 6px 24px rgba(27,52,91,.035)}
.contact-emblem{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:15px;font-size:23px;font-weight:850;background:#e8f2ff;color:#2e69c4}
.contact-redbook .contact-emblem{background:#fff0ed;color:#d55754}
.contact-group .contact-emblem{background:#e8f7f2;color:#209474}
.contact-card-copy{flex:1;display:grid;gap:3px;min-width:0}
.contact-card-copy small{font-size:12px;color:var(--muted)}
.contact-card-copy strong{font-size:16px;color:var(--ink);overflow-wrap:anywhere;line-height:1.4}
.contact-card-copy span{font-size:12px;color:var(--muted)}
.contact-card .btn{flex:none;min-height:36px}
.contact-page{display:grid;gap:20px}
.auth-contact .contact-grid{grid-template-columns:1fr;gap:8px}
.auth-contact .contact-card{padding:10px 12px;border-radius:12px;box-shadow:none;background:var(--surface-2)}
.auth-contact .contact-emblem{width:34px;height:34px;border-radius:10px;font-size:16px}
.auth-contact .contact-card-copy strong{font-size:13px}
.auth-contact .contact-card-copy span{display:none}
.auth-contact .contact-card .btn{min-height:31px;padding:5px 8px;font-size:11px}
.auth-restricted .auth-stack{width:min(100%,520px)}
html[data-theme="dark"] .auth-card,html[data-theme="dark"] .auth-contact,html[data-theme="dark"] .contact-card{box-shadow:none}
html[data-theme="dark"] .contact-emblem{background:#1b3159;color:#91b6ff}
html[data-theme="dark"] .contact-redbook .contact-emblem{background:#3b2933;color:#ff9b96}
html[data-theme="dark"] .contact-group .contact-emblem{background:#193a37;color:#74d5b4}
@media(max-width:1050px){.contact-page .contact-grid{grid-template-columns:1fr}.auth-aside{padding:35px}.auth-main{padding:30px}}
@media(max-width:800px){
  .auth-layout{display:block}
  .auth-aside{display:none}
  .auth-main{padding:18px 14px 32px}
  .auth-stack,.auth-layout-register .auth-stack{max-width:560px}
  .auth-card{padding:24px;box-shadow:none}
  .auth-contact{padding:17px}
}
@media(max-width:560px){
  .auth-fields-two{grid-template-columns:1fr}
  .auth-otp-row{grid-template-columns:minmax(0,1fr) auto}
  .auth-otp-row .btn{padding:8px 10px}
  .auth-contact-head{align-items:start;flex-direction:column}
  .contact-page .contact-card{padding:16px}
}
@media(max-width:390px){
  .auth-main{padding:12px 10px 28px}
  .auth-card{padding:20px}
  .auth-step{padding:14px}
  .contact-card{gap:10px}
  .contact-card-copy strong{font-size:13px}
  .contact-card .btn span{display:none}
}


/* Contact brand marks: Font Awesome Free, CC BY 4.0. */
.contact-brand-logo{display:block;width:26px;height:26px}
.auth-contact .contact-brand-logo{width:20px;height:20px}
.contact-discord .contact-emblem{background:#eeefff;color:#5865f2}
html[data-theme="dark"] .contact-discord .contact-emblem{background:#282c52;color:#abb2ff}

.auth-tos-link{color:var(--accent,#2875be);text-decoration:underline;text-underline-offset:2px}
.auth-card .auth-tos-consent{display:flex;align-items:flex-start;gap:10px;color:var(--ink,#17243a);font-size:14px;line-height:1.5;cursor:pointer}
.auth-card .auth-tos-consent input{width:18px;min-width:18px;height:18px;min-height:18px;padding:0;margin:1px 0 0;flex:none;accent-color:var(--accent,#2875be)}
.auth-links{gap:16px;flex-wrap:wrap}
.auth-step[hidden]{display:none}
