/* 可见输入框：由最后加载的公共表单层统一管理，覆盖无边框主题。 */
:root { --field-border: #827f77; --field-bg: #fff; --field-ink: #171717; }
[data-skin="night"], [data-skin="bbs"] { --field-border: #82938d; --field-bg: #151e23; --field-ink: #f2f7f5; }
.input, .auth .auth-form .input, .compose .title-input, .compose textarea, .settings textarea {
  border: 1px solid var(--field-border); background: var(--field-bg); color: var(--field-ink);
  border-radius: 10px; min-height: 48px; padding: 11px 14px; width: 100%; box-shadow: none;
}
.input::placeholder, .compose textarea::placeholder, .compose .title-input::placeholder { color: #666; opacity: 1; }
[data-skin="night"] .input::placeholder, [data-skin="bbs"] .input::placeholder { color: #b5c2bd; }
.input:focus, .auth .auth-form .input:focus, .compose textarea:focus, .compose .title-input:focus {
  border-color: var(--accent, #6b4ef0); outline: 3px solid color-mix(in srgb, var(--accent, #6b4ef0) 35%, transparent); outline-offset: 2px;
}
.password-field { position: relative; display: block; width: 100%; min-width: 0; }
.password-field input, .auth .auth-form .password-field .input { padding-right: 56px; }
.password-toggle { position: absolute; right: 3px; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 8px; color: var(--field-ink); background: var(--field-bg); cursor: pointer; }
.password-toggle:hover { background: color-mix(in srgb, var(--field-ink) 10%, var(--field-bg)); }
.password-toggle:focus-visible { outline: 3px solid var(--accent, #6b4ef0); outline-offset: 1px; }
.password-toggle svg { width: 22px; height: 22px; pointer-events: none; }
.password-field input::-ms-reveal { display: none; }
.remember-login { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; line-height: 1.6; }
.remember-login input { width: 18px; height: 18px; flex: none; margin-top: 3px; accent-color: var(--accent); }
.forgot-link { align-self: flex-end; }
.attachment-box { display: grid; gap: 10px; padding: 16px; border: 1px solid var(--field-border); border-radius: 10px; background: var(--surface, #fff); margin: 12px 0; min-width: 0; }
.attachment-box input[type=file] { width: 100%; min-height: 44px; font-size: 14px; }
.attachment-box input[type=file]::file-selector-button { padding: 10px 14px; margin-right: 10px; cursor: pointer; border: 1px solid var(--field-border); border-radius: 6px; }
.attachment-status { font-size: 13px; overflow-wrap: anywhere; }
.attachment-status.is-error { color: var(--danger, #b3261e); }
.attachment-box progress { width: 100%; height: 8px; accent-color: var(--accent, #6b4ef0); }
.attachment-link { display: inline-flex; align-items: center; gap: 5px; text-decoration: underline; text-underline-offset: 3px; }
@media(max-width: 600px) { .input, .auth .auth-form .input, .password-field input { font-size: 16px; } .attachment-box { padding: 12px; } }
