.auth-terms-page { margin: 0; color: #202124; background: #fff; font: 16px/1.65 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.auth-terms-page *, .auth-terms-page *::before, .auth-terms-page *::after { box-sizing: border-box; }
.auth-terms-page main { width: min(100% - 32px, 520px); margin: max(32px, env(safe-area-inset-top)) auto; padding-bottom: env(safe-area-inset-bottom); }
.auth-terms-page h1 { margin: 26px 0 12px; font-size: 26px; line-height: 1.4; }
.auth-terms-page p { overflow-wrap: anywhere; }
.auth-terms-page a { color: #245bb2; text-underline-offset: 3px; }
.auth-terms-page .auth-terms-brand { font-size: 21px; font-weight: 750; color: #202124; text-decoration: none; }
.auth-terms-agreement { margin: 20px 0; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; padding: 12px 0 18px; font-size: 14px; line-height: 1.65; }
.auth-terms-agreement p { margin: 8px 0 12px; }
.auth-terms-agreement label { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; padding: 10px 0; cursor: pointer; }
.auth-terms-agreement input[type="checkbox"] { width: 20px; height: 20px; margin: 2px 0 0; flex: 0 0 auto; accent-color: #202124; }
.auth-terms-agreement a { color: #245bb2; }
.auth-terms-page button { min-height: 48px; width: 100%; border: 0; border-radius: 6px; background: #ffdc54; color: #171717; padding: 12px 16px; font: inherit; font-weight: 650; cursor: pointer; }
.auth-terms-page :is(a, button, input):focus-visible, .auth-terms-agreement :is(a, input):focus-visible { outline: 2px solid #555; outline-offset: 3px; }
.auth-terms-page .auth-terms-back { display: block; padding: 16px 0; text-align: center; }
.auth-terms-page .auth-terms-error { color: #a32222; }
