.quest-auth-page {
	--bg: #fafbfd;
	--text: #07477e;
	--muted: #7288ac;
	--panel: #fff;
	--section-border: #e2e8ef;
	--font-body: 'Open Sans', Arial, sans-serif;
	--font-display: 'Open Sans', Arial, sans-serif;
	background: var(--bg);
	font-family: var(--font-body);
}
html[data-theme="dark"] .quest-auth-page {
	--bg: #101c29;
	--text: #e3edf7;
	--muted: #a6b9d0;
	--panel: #18283a;
	--section-border: #36495f;
}
.quest-auth-page .page-shell { min-height: 100vh; display: flex; flex-direction: column; width: min(1280px, calc(100% - 64px)); padding-top: 12px; }
.quest-auth-page .site-header { flex-shrink: 0; }
.quest-auth-page .site-footer { margin-top: auto; }
.quest-auth { margin: 24px 0 70px; }
.quest-auth-card { padding: 48px 54px 34px; border: 1px solid var(--section-border); border-radius: 6px; background: var(--panel); }
.quest-auth h1 { margin: 0; font-family: var(--font-display); color: var(--text); font-size: clamp(30px, 5.6vw, 50px); line-height: 1.13; font-weight: 800; letter-spacing: -1.8px; }
.quest-auth h1 span { color: #69c715; }
.quest-auth h1 .auth-signin-title { color: var(--text); font-size: .94em; }
.auth-rule { width: 50px; height: 3px; background: #69c715; margin-top: 18px; }
.auth-intro { color: var(--muted); font-size: 22px; line-height: 1.4; margin: 27px 0 32px; }
.auth-field { margin-bottom: 30px; }
.auth-field label { display: block; margin-bottom: 8px; color: var(--text); font-size: 19px; font-weight: 700; }
.quest-auth-form input[type="email"], .quest-auth-form input[type="password"], .quest-auth-form input[type="text"] { width: 100%; height: 55px; border: 1px solid #b6c5db; border-radius: 5px; padding: 12px 17px; background: var(--panel); color: var(--text); font: inherit; font-size: 18px; box-sizing: border-box; }
.quest-auth-form input::placeholder { color: #91a7c5; opacity: 1; }
.quest-auth-form input:focus { outline: 2px solid #4787ba; outline-offset: 2px; }
.auth-password { position: relative; }
.auth-password input { padding-right: 58px !important; }
.auth-password-toggle { position: absolute; top: 0; right: 7px; width: 48px; height: 55px; border: 0; padding: 10px; background: transparent; color: #8199be; cursor: pointer; }
.auth-hint { color: var(--muted); font-size: 16px; margin: 9px 0 0; }
.quest-auth a { color: var(--text); text-decoration: underline; text-underline-offset: 2px; }
.auth-forgot { text-align: right; margin: -12px 0 40px; font-size: 18px; }
.auth-submit { display: block; width: 100%; min-height: 58px; margin-top: 32px; border: 1px solid #0b497b; border-radius: 5px; background: #084b83; color: #fff; font-family: inherit; font-size: 19px; font-weight: 700; cursor: pointer; }
.auth-submit:hover { background: #063b68; }
.auth-switch { text-align: center; color: var(--text); font-size: 18px; margin: 28px 0 0; }
.auth-support { text-align: center; margin: 36px 0 0; color: var(--text); font-size: 17px; }
.auth-errors, .auth-success { padding: 12px 16px; margin: 20px 0; border: 1px solid currentColor; border-radius: 5px; font-size: 16px; }
.auth-errors { color: #b3261e; }
.auth-success { color: var(--text); }
.auth-errors p { margin: 5px 0; }
@media (max-width: 600px) {
	.quest-auth-page .page-shell { width: calc(100% - 26px); }
	.quest-auth-card { padding: 30px 22px; }
	.quest-auth h1 { letter-spacing: -1px; font-size: 31px; }
	.auth-intro { font-size: 18px; }
	.auth-field label, .auth-submit, .auth-switch { font-size: 16px; }
	.auth-support { font-size: 15px; }
}
