/* Material interaction structure; Brandstar editorial palette and quiet surfaces. */
.bs-reader-auth {--bs-auth-outline:var(--bs-line,#d9d5cd);width:min(960px,calc(100% - 80px));margin:0 auto;min-height:680px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:96px;align-items:center;padding:80px 0 96px;color:var(--bs-ink,#242321)}
.bs-reader-auth-editorial>span {font-size:12px;letter-spacing:.18em;color:var(--bs-muted,#64615b)}
.bs-reader-auth-editorial h1 {font-size:42px;line-height:1.4;letter-spacing:-.035em;margin:24px 0}
.bs-reader-auth-editorial p {color:var(--bs-muted,#64615b);font-size:16px;line-height:1.9}
.bs-reader-auth-form h2 {font-size:28px;margin:0 0 8px}
.bs-reader-auth-deck {color:var(--bs-muted,#64615b);margin:0 0 32px}
.bs-reader-auth-modes {display:flex;gap:24px;margin:0 0 24px;border-bottom:1px solid var(--bs-auth-outline)}
.bs-reader-auth .bs-reader-auth-modes button {background:transparent;color:var(--bs-muted,#64615b);border:0;border-bottom:2px solid transparent;border-radius:0;padding:0 0 12px;font-weight:400}
.bs-reader-auth .bs-reader-auth-modes button[aria-pressed=true] {color:var(--bs-ink,#242321);border-bottom-color:var(--bs-ink,#242321);font-weight:600}
.bs-reader-auth .bs-reader-auth-modes button:hover:not(:disabled) {background:transparent;color:var(--bs-ink,#242321)}
.bs-reader-auth .bs-reader-auth-wechat {width:100%;margin-top:8px;background:transparent;color:var(--bs-ink,#242321);border:1px solid var(--bs-auth-outline)}
.bs-reader-auth .bs-reader-auth-wechat:hover:not(:disabled) {background:var(--bs-surface,#f7f5f0)}
.bs-reader-auth .bs-reader-auth-reset {background:transparent;color:var(--bs-muted,#64615b);padding:8px 0;font-weight:400}
.bs-reader-auth .bs-reader-auth-reset:hover:not(:disabled) {background:transparent;color:var(--bs-ink,#242321);text-decoration:underline;text-underline-offset:4px}
.bs-reader-auth form {display:grid;gap:8px}
.bs-reader-auth label {font-size:14px}
.bs-reader-auth input:not([type=checkbox]) {box-sizing:border-box;width:100%;min-width:0;height:56px;padding:16px;box-shadow:none;border:1px solid var(--bs-auth-outline);border-radius:4px;background:var(--bs-paper,#fff);font:inherit;color:var(--bs-ink,#242321)}
.bs-reader-auth input::placeholder {color:var(--bs-muted,#64615b);opacity:1}
.bs-reader-auth-phone {display:flex;border:1px solid var(--bs-auth-outline);border-radius:4px;align-items:center;margin-bottom:16px}
.bs-reader-auth-phone span {padding:0 16px;font-size:14px}
.bs-reader-auth .bs-reader-auth-phone input {border:0;border-radius:0;background:transparent}
.bs-reader-auth input:not([type=checkbox]):focus,.bs-reader-auth input:not([type=checkbox]):focus-visible {outline:none;border-color:var(--bs-focus,#242321);box-shadow:inset 0 0 0 1px var(--bs-focus,#242321)}
.bs-reader-auth-phone:focus-within {border-color:var(--bs-focus,#242321);box-shadow:inset 0 0 0 1px var(--bs-focus,#242321)}
.bs-reader-auth .bs-reader-auth-phone input:focus {box-shadow:none}
.bs-reader-auth-code {display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;margin-bottom:8px}
.bs-reader-auth button {min-height:48px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;border-radius:4px;padding:12px 16px;background:var(--bs-dark,#111);color:#fff;transition:background var(--bs-motion,160ms ease)}
.bs-reader-auth button:hover:not(:disabled) {background:var(--bs-ink,#242321)}
.bs-reader-auth button:active:not(:disabled) {background:#000}
.bs-reader-auth .bs-reader-auth-primary {margin:8px 0}
.bs-reader-auth button:disabled {cursor:not-allowed;opacity:1}
.bs-reader-auth input:disabled {color:var(--bs-muted,#64615b);-webkit-text-fill-color:var(--bs-muted,#64615b);opacity:1}
.bs-reader-auth button:focus-visible,.bs-reader-auth a:focus-visible,.bs-reader-auth input[type=checkbox]:focus-visible {outline:2px solid var(--bs-focus,#242321);outline-offset:4px}
.bs-reader-auth-notice {font-size:14px;line-height:1.8;color:var(--bs-muted,#64615b);border-left:2px solid var(--bs-line,#d9d5cd);padding-left:16px;margin:0 0 24px}
.bs-reader-auth-status {font-size:14px;line-height:1.8;min-height:24px}
.bs-reader-auth-status[data-error=true] {color:var(--bs-ink,#242321);font-weight:600}
.bs-reader-auth-alternatives {display:flex;justify-content:space-between;gap:16px;font-size:14px;border-top:1px solid var(--bs-line,#d9d5cd);padding-top:16px}
.bs-reader-auth-alternatives a {display:inline-flex;align-items:center;min-height:48px}
.bs-reader-auth-footnote {font-size:13px;color:var(--bs-muted,#64615b);line-height:1.8;margin:16px 0 0}
.bs-reader-auth-consent {display:flex;align-items:flex-start;gap:8px;line-height:1.8;min-height:48px;padding:8px 0;cursor:pointer}
.bs-reader-auth-consent input {appearance:none;-webkit-appearance:none;box-sizing:border-box;flex:0 0 auto;width:18px;height:18px;margin:4px 0 0;border:1px solid var(--bs-auth-outline);border-radius:3px;background:var(--bs-paper,#fff);box-shadow:none}
.bs-reader-auth-consent input:checked {border-color:var(--bs-ink,#242321);background-color:var(--bs-ink,#242321);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m4 9 3 3 7-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:100% 100%}
.bs-reader-auth-consent input:disabled:not(:checked) {background:var(--bs-surface,#f7f5f0)}
@media(forced-colors:active) {.bs-reader-auth-consent input {appearance:auto;-webkit-appearance:auto}}
.bs-reader-auth-consent span {min-width:0}
.bs-reader-auth-consent a {text-decoration:underline;text-underline-offset:3px}
.bs-reader-auth [hidden] {display:none!important}
.bs-reader-auth-page .bs-footer-local {display:none}
@media(max-width:800px) {
 .bs-reader-auth {display:block;width:calc(100% - 40px);max-width:440px;min-height:0;padding:40px 0 64px}
 .bs-reader-auth-editorial {margin-bottom:40px}
 .bs-reader-auth-editorial h1 {font-size:30px;margin:16px 0}
 .bs-reader-auth-editorial p {display:none}
 .bs-reader-auth-form h2 {font-size:24px}
 .bs-reader-auth-code {grid-template-columns:minmax(0,1fr) 120px}
 .bs-reader-auth-alternatives {flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce) {.bs-reader-auth button {transition:none}}
