/* Cloudflare 登录层与键盘、触屏交互。 */
[hidden] { display: none !important; }
.auth-dialog {
  width: min(100% - 32px, 410px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--bg-elev);
  color: var(--text);
  box-shadow: var(--shadow-lg);
}
.auth-dialog::backdrop { background: #121c376b; }
.auth-head { position: relative; margin-bottom: 21px; }
.auth-head h2 { margin: 12px 0 3px; font-size: 22px; line-height: 1.3; }
.auth-head p { margin: 0; font-size: 13px; color: var(--text-soft); }
.auth-mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  color: var(--accent);
  background: var(--accent-soft);
  font-size: 20px;
}
.auth-close { position: absolute; top: 0; right: 0; }
.auth-field + .auth-field, .auth-field:not([hidden]) ~ .auth-field { margin-top: 13px; }
.auth-field label { display: block; margin-bottom: 5px; font-size: 13px; font-weight: 650; }
.auth-field input {
  display: block;
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--border-strong);
  border-radius: 9px;
  background: var(--bg-elev);
  color: var(--text);
  font: inherit;
}
.auth-field input:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.auth-field input::placeholder { color: var(--text-soft); }
#setupCode { font-family: var(--mono); }
#loginStatus { color: var(--danger); font-size: 13px; margin: 10px 0 0; }
#loginStatus:empty { display: none; }
.auth-submit { width: 100%; justify-content: center; min-height: 42px; margin-top: 18px; }
.auth-submit:disabled { opacity: .55; cursor: default; }
.settings-password { margin: 0 0 12px; }
.settings-password .form-row { margin-top: 10px; }
.settings-password summary { cursor: pointer; color: var(--accent); }
#aboutText { white-space: pre-wrap; overflow-wrap: anywhere; }
.logo-button { appearance: none; border: 0; background: transparent; color: inherit; font: inherit; padding: 0; text-align: left; cursor: pointer; min-width: 0; }
.logo-text { min-width: 0; overflow-wrap: anywhere; }
.site-card:focus-within .sc-actions { opacity: 1; pointer-events: auto; transform: translateY(-50%); }
.list-row .list-edit { display: none; }
.list-row:hover .list-edit, .list-row:focus-within .list-edit { display: inline-flex; }
@media (hover: none) {
  .site-card .sc-actions { opacity: 1; pointer-events: auto; position: static; transform: none; }
  .site-card:hover .sc-actions, .site-card:focus-within .sc-actions { transform: none; }
}
@media (max-width: 480px) {
  .auth-dialog { padding: 20px; }
  .auth-field input { font-size: 16px; }
}
