body:has(.auth-page){background:linear-gradient(90deg,#090c0cf2,#090c0ccc),url('/site-assets/outpost-concept.png') center/cover fixed}
.auth-page{max-width:510px;text-align:left;background:#101516f5;margin:48px auto;padding:32px;border:1px solid var(--line);border-top:2px solid var(--accent)}
.auth-page .eyebrow,.code-dialog .eyebrow{color:var(--accent);font-size:11px;letter-spacing:2px}
.auth-page h1{font-size:38px;line-height:1.1;margin:12px 0 18px}.auth-page h2{font-size:25px}.auth-page p{color:var(--muted);font-size:14px;line-height:1.6}
.auth-page form,.code-dialog form{display:grid;gap:10px}.auth-page label,.code-dialog label{font-size:13px;margin-top:7px}.auth-page input,.code-dialog input{width:100%;min-width:0;margin:0}.auth-page button[type=submit],.code-dialog button[type=submit]{margin-top:12px;background:var(--accent);color:#101313;font-weight:700}
.auth-page hr{border:0;border-top:1px solid var(--line);margin:28px 0}.auth-page [role=status],.code-dialog [role=status]{min-height:22px;overflow-wrap:anywhere}.auth-page .auth-hint{font-size:12px}.auth-page a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.auth-page [hidden]{display:none!important}
.code-dialog{color:var(--ink);background:#111617;border:1px solid var(--line);border-top:2px solid var(--accent);width:min(460px,calc(100% - 32px));padding:30px;box-shadow:0 24px 90px #000b}.code-dialog::backdrop{background:#050707db;backdrop-filter:blur(4px)}.code-dialog h2{font-size:30px;margin:12px 0}.code-dialog p{color:var(--muted);line-height:1.5;font-size:14px}.code-dialog .code-input{font:28px monospace;letter-spacing:.35em;text-transform:uppercase;text-align:center}.code-dialog .dialog-close{float:right;padding:4px 8px;border:0;background:transparent;font-size:22px}.code-dialog .code-timer{color:var(--accent);font-variant-numeric:tabular-nums}.code-dialog .resend-code{width:100%}
@media(max-width:600px){.auth-page{margin:24px 16px;padding:24px}.auth-page h1{font-size:32px}.code-dialog{padding:22px}}
/* Account access and verification dialogs. */
body:has(.auth-page){background:linear-gradient(120deg,#080b0df5,#080b0dbf),url('/site-assets/frontier-v2.webp') center/cover fixed}
.auth-page{width:min(960px,calc(100% - 40px));max-width:960px;display:grid;grid-template-columns:.85fr 1.15fr;padding:0;margin:45px auto 65px;border:1px solid var(--line);background:#101416;box-shadow:0 25px 70px #0005}
.auth-art{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:30px;border-right:1px solid var(--line);background:radial-gradient(ellipse at 50% 40%,#60472830,transparent 60%),repeating-linear-gradient(0deg,transparent 0 47px,#ffffff03 48px),#101517;overflow:hidden}.auth-art>.eyebrow{color:var(--muted);font-size:11px}.auth-art-caption{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;gap:15px}.auth-art-caption b{font:22px var(--font-heading);letter-spacing:.12em}.auth-art-caption span{font-size:11px;color:var(--muted)}
.auth-card{padding:36px 40px;border-top:2px solid var(--accent);min-width:0}.auth-page h1{font-size:40px;margin:12px 0 16px}.auth-page form{gap:9px}.auth-page input{min-height:46px}.auth-page button[type=submit]{min-height:48px;font:700 18px var(--font-heading);letter-spacing:.04em}.auth-page small{color:var(--muted);font-size:11px;line-height:1.6}.auth-page h2{font-size:26px}.auth-hint{border-left:2px solid var(--line);padding-left:12px}.auth-page .auth-card>p:last-child{margin-bottom:0}.auth-page #guestButton{width:100%;margin-top:12px}.auth-page #guestName{display:block;margin-top:8px}
.code-dialog{max-height:calc(100dvh - 24px);overflow-y:auto}.code-dialog .code-input{letter-spacing:.22em;min-height:64px}.code-dialog .dialog-close{position:absolute;right:18px;top:14px}
@media(max-width:700px){.auth-page{grid-template-columns:1fr;width:calc(100% - 28px);margin:22px auto 35px}.auth-art{display:grid;grid-template-columns:1fr 65px;gap:10px;align-items:center;padding:16px 22px;border-right:0;border-bottom:1px solid var(--line)}.auth-art-caption{border:0;padding:0;display:block;grid-column:1;grid-row:2}.auth-art-caption b{font-size:19px}.auth-art-caption span{display:none}.auth-card{padding:26px 22px;border-top:0}.auth-page h1{font-size:34px}.auth-page p{font-size:13px}}
