.login-modal { width: 560px; max-width: calc(100vw - 32px); background: #111014; }
.login-trial-notice { margin: 24px 0 0; padding: 18px 20px; border: 1px solid #d9b98b45; border-radius: 12px; background: #d9b98b0d; color: #e9dfd4; font-size: 15px; line-height: 1.9; white-space: pre-line; text-wrap: pretty; }
.login-trial-notice[hidden] { display: none; }
.login-provider-list { display: grid; gap: 14px; margin: 26px 0; }
.login-provider { position: relative; display: flex; align-items: center; justify-content: center; gap: 14px; min-width: 0; min-height: 66px; padding: 14px 20px; border: 1px solid #dedde0; border-radius: 999px; background: #fff; color: #111; font-size: 19px; font-weight: 700; line-height: 1.4; text-decoration: none; }
.login-provider[hidden], .openai-account-row[hidden], .login-alpha-note[hidden] { display: none; }
.login-provider-icon-wrap { position: relative; display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; }
.login-provider-icon { display: block; width: 32px; height: 32px; object-fit: contain; }
.login-provider[data-login-provider="openai"] .login-provider-icon { filter: invert(1); }
.login-provider-label { white-space: nowrap; }
.login-provider:hover:not([aria-disabled="true"]) { box-shadow: 0 0 0 3px #ffffff1a; }
.login-provider:focus-visible { outline: 2px solid #e6c6a2; outline-offset: 3px; }
.login-provider[aria-disabled="true"] { cursor: default; }
.login-provider:has([data-provider-status]:not(:empty)) { margin-bottom: 17px; }
.login-provider [data-provider-status] { position: absolute; top: calc(100% + 4px); right: 20px; font-size: 11px; font-weight: 400; line-height: 1.5; color: #c0bac5; }
.login-provider [data-provider-status]:empty { display: none; }
.login-alpha-note { margin: 18px 0 0; color: #aaa1b0; font-size: 11px; line-height: 1.8; text-align: center; }
.account-access-row, .openai-account-row { flex-wrap: wrap; gap: 14px; }
.account-access-row > div, .openai-account-row > div { flex: 1; min-width: 180px; }
.account-access-row .secondary-button, .openai-account-row .secondary-button { flex-shrink: 0; text-decoration: none; }
#account-access-reset { display: block; margin-top: 8px; color: #e6c6a2; font-size: 11px; }
#account-access-reset[hidden] { display: none; }
.cast-focus .message-feedback { column-gap: 10px; flex-wrap: wrap; }
.conversation-access { margin-right: auto; color: #c8b9cc; font-size: 10px; line-height: 1.5; }
.conversation-access.access-blocked { color: #efbd9e; }
.conversation-access[hidden] { display: none; }
.conversation-signin { flex-shrink: 0; padding: 4px 10px; border: 1px solid #d9b98b80; border-radius: 999px; background: #d9b98b20; color: #f1d7b2; font-size: 11px; line-height: 1.5; cursor: pointer; }
.conversation-signin:hover { background: #d9b98b35; }
.conversation-signin:focus-visible { outline: 2px solid #e6c6a2; outline-offset: 2px; }
.conversation-signin[hidden] { display: none; }
@media (max-width: 420px) {
  .account-access-row .secondary-button, .openai-account-row .secondary-button { width: 100%; }
  .login-provider { min-height: 56px; gap: 8px; padding: 12px; font-size: 14px; }
  .login-provider-icon-wrap { flex-basis: 24px; width: 24px; height: 24px; }
  .login-provider-icon { width: 24px; height: 24px; }
}

.login-state-error[hidden] { display: none; }
.login-state-error { margin-top: 20px; color: #efbd9e; font-size: 13px; line-height: 1.6; }
.login-state-error p { margin: 0 0 10px; }
#login-human-check { margin-top: 20px; }
#login-human-check[hidden], #login-human-check [hidden] { display: none; }
#login-human-check [data-human-check-widget] { width: 100%; min-width: 0; max-width: 100%; }
#login-human-check [data-human-check-retry] { margin-top: 12px; }
.login-check-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.login-provider[aria-busy="true"] { opacity: .7; cursor: progress; }
.trial-check-modal { position: relative; width: 360px; max-width: calc(100vw - 32px); padding: 44px 22px 22px; background: #111014; }
.trial-check-close { position: absolute; top: 6px; right: 6px; width: 30px; height: 30px; }
#trial-human-check[hidden], #trial-human-check [hidden] { display: none; }
#trial-human-check [data-human-check-widget] { width: 100%; min-width: 0; max-width: 100%; min-height: 65px; }
#trial-human-check [data-human-check-retry] { margin-top: 12px; }
