.account-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; padding-block: 1rem; color: #33544c; font-size: .85rem; }
.account-toolbar[hidden] { display: none; }
.account-toolbar button, .auth-other { border: 0; background: transparent; color: #235d51; text-decoration: underline; text-underline-offset: .25em; cursor: pointer; min-height: 44px; }
.reading-access-dialog { width: min(460px, calc(100vw - 32px)); box-sizing: border-box; max-height: calc(100dvh - 32px); overflow-y: auto; padding: 28px; border: 1px solid #d4ddd2; border-radius: 24px; background: #fffaf0; color: #233d35; }
.reading-access-dialog::backdrop { background: rgb(20 43 36 / .45); backdrop-filter: blur(4px); }
.auth-wordmark { letter-spacing: .22em; font-weight: 600; }
.reading-access-dialog h2 { font-family: 'Playfair Display', serif; font-size: 1.9rem; line-height: 1.25; margin-top: 22px; }
.reading-access-dialog p { line-height: 1.6; }
.auth-google, #auth-form input, #auth-form .access-unlock { width: 100%; box-sizing: border-box; min-height: 48px; border-radius: 12px; }
.auth-google { background: #fffdf7; border: 1px solid #a8b8ae; color: #234b40; cursor: pointer; margin-top: 12px; }
.auth-divider { display: flex; align-items: center; gap: 12px; font-size: .8rem; color: #54685f; }
.auth-divider::before, .auth-divider::after { content: ''; flex: 1; border-top: 1px solid #d2d9ce; }
#auth-form { display: grid; gap: 10px; }
#auth-form label { font-size: .85rem; font-weight: 600; color: #33544c; }
#auth-form input { border: 1px solid #a8b8ae; background: #fffdf7; color: #233d35; padding: 12px; font: inherit; }
#auth-form input:read-only { background: #edf0e8; }
#auth-error { color: #973e2d; margin: 0; font-size: .85rem; }
.auth-privacy { color: #54685f; font-size: .76rem; text-align: center; }
.auth-demo-notice { margin: 0; padding: 10px 16px; background: #e7ebda; color: #31483e; font-size: .8rem; text-align: center; }
.reading-access-dialog :focus-visible, .account-toolbar :focus-visible { outline: 3px solid #307868; outline-offset: 3px; }
.reading-access-dialog button:disabled { opacity: .6; cursor: wait; }
.gate-message .gate-request-error { color: #973e2d; font-size: .85rem; }

.auth-google { display: flex; align-items: center; justify-content: center; gap: 12px; }
.auth-google-logo { flex: 0 0 20px; }
