/* 暗色兼容层：给没写 dark: 样式的页面/元素（后台、审计、导航、即刻弹窗等）补暗色。
 * 只作用于 html.dark，且只改"自己没有对应 dark: 类"的元素（:not([class*="dark:bg-"]) 等），
 * 不影响已经单独适配过暗色的地方。由 partials/_theme_init.html 统一引入。 */
html.dark .bg-white:not([class*="dark:bg-"]),
html.dark .bg-white\/80:not([class*="dark:bg-"]),
html.dark .bg-white\/90:not([class*="dark:bg-"]),
html.dark .bg-white\/95:not([class*="dark:bg-"]),
html.dark .bg-white\/70:not([class*="dark:bg-"]),
html.dark .bg-white\/60:not([class*="dark:bg-"]),
html.dark .bg-white\/50:not([class*="dark:bg-"]) { background-color: #111827; }
html.dark .bg-gray-50:not([class*="dark:bg-"]),
html.dark .bg-slate-50:not([class*="dark:bg-"]),
html.dark .bg-zinc-50:not([class*="dark:bg-"]),
html.dark .bg-neutral-50:not([class*="dark:bg-"]),
html.dark .bg-stone-50:not([class*="dark:bg-"]),
html.dark .bg-gray-50\/50:not([class*="dark:bg-"]),
html.dark .bg-slate-50\/50:not([class*="dark:bg-"]),
html.dark .bg-gray-50\/80:not([class*="dark:bg-"]),
html.dark .bg-slate-50\/80:not([class*="dark:bg-"]) { background-color: #111c30; }
html.dark .bg-gray-100:not([class*="dark:bg-"]),
html.dark .bg-slate-100:not([class*="dark:bg-"]),
html.dark .bg-zinc-100:not([class*="dark:bg-"]),
html.dark .bg-neutral-100:not([class*="dark:bg-"]),
html.dark .bg-stone-100:not([class*="dark:bg-"]),
html.dark .bg-gray-100\/50:not([class*="dark:bg-"]),
html.dark .bg-gray-100\/80:not([class*="dark:bg-"]) { background-color: #1f2937; }
html.dark .bg-gray-200:not([class*="dark:bg-"]),
html.dark .bg-slate-200:not([class*="dark:bg-"]),
html.dark .bg-zinc-200:not([class*="dark:bg-"]) { background-color: #374151; }
html.dark .hover\:bg-gray-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-slate-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-gray-100:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-slate-100:hover:not([class*="dark:bg-"]) { background-color: #1f2937; }
html.dark .bg-red-50:not([class*="dark:bg-"]),
html.dark .bg-red-100:not([class*="dark:bg-"]),
html.dark .bg-red-50\/50:not([class*="dark:bg-"]),
html.dark .bg-red-50\/80:not([class*="dark:bg-"]) { background-color: rgba(239,68,68, .14); }
html.dark .hover\:bg-red-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-red-100:hover:not([class*="dark:bg-"]) { background-color: rgba(239,68,68, .22); }
html.dark .border-red-100:not([class*="dark:border-"]),
html.dark .border-red-200:not([class*="dark:border-"]) { border-color: rgba(239,68,68, .35); }
html.dark .text-red-700:not([class*="dark:text-"]),
html.dark .text-red-800:not([class*="dark:text-"]),
html.dark .text-red-900:not([class*="dark:text-"]) { color: rgb(239,68,68); }
html.dark .bg-orange-50:not([class*="dark:bg-"]),
html.dark .bg-orange-100:not([class*="dark:bg-"]),
html.dark .bg-orange-50\/50:not([class*="dark:bg-"]),
html.dark .bg-orange-50\/80:not([class*="dark:bg-"]) { background-color: rgba(249,115,22, .14); }
html.dark .hover\:bg-orange-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-orange-100:hover:not([class*="dark:bg-"]) { background-color: rgba(249,115,22, .22); }
html.dark .border-orange-100:not([class*="dark:border-"]),
html.dark .border-orange-200:not([class*="dark:border-"]) { border-color: rgba(249,115,22, .35); }
html.dark .text-orange-700:not([class*="dark:text-"]),
html.dark .text-orange-800:not([class*="dark:text-"]),
html.dark .text-orange-900:not([class*="dark:text-"]) { color: rgb(249,115,22); }
html.dark .bg-amber-50:not([class*="dark:bg-"]),
html.dark .bg-amber-100:not([class*="dark:bg-"]),
html.dark .bg-amber-50\/50:not([class*="dark:bg-"]),
html.dark .bg-amber-50\/80:not([class*="dark:bg-"]) { background-color: rgba(245,158,11, .14); }
html.dark .hover\:bg-amber-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-amber-100:hover:not([class*="dark:bg-"]) { background-color: rgba(245,158,11, .22); }
html.dark .border-amber-100:not([class*="dark:border-"]),
html.dark .border-amber-200:not([class*="dark:border-"]) { border-color: rgba(245,158,11, .35); }
html.dark .text-amber-700:not([class*="dark:text-"]),
html.dark .text-amber-800:not([class*="dark:text-"]),
html.dark .text-amber-900:not([class*="dark:text-"]) { color: rgb(245,158,11); }
html.dark .bg-yellow-50:not([class*="dark:bg-"]),
html.dark .bg-yellow-100:not([class*="dark:bg-"]),
html.dark .bg-yellow-50\/50:not([class*="dark:bg-"]),
html.dark .bg-yellow-50\/80:not([class*="dark:bg-"]) { background-color: rgba(234,179,8, .14); }
html.dark .hover\:bg-yellow-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-yellow-100:hover:not([class*="dark:bg-"]) { background-color: rgba(234,179,8, .22); }
html.dark .border-yellow-100:not([class*="dark:border-"]),
html.dark .border-yellow-200:not([class*="dark:border-"]) { border-color: rgba(234,179,8, .35); }
html.dark .text-yellow-700:not([class*="dark:text-"]),
html.dark .text-yellow-800:not([class*="dark:text-"]),
html.dark .text-yellow-900:not([class*="dark:text-"]) { color: rgb(234,179,8); }
html.dark .bg-lime-50:not([class*="dark:bg-"]),
html.dark .bg-lime-100:not([class*="dark:bg-"]),
html.dark .bg-lime-50\/50:not([class*="dark:bg-"]),
html.dark .bg-lime-50\/80:not([class*="dark:bg-"]) { background-color: rgba(132,204,22, .14); }
html.dark .hover\:bg-lime-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-lime-100:hover:not([class*="dark:bg-"]) { background-color: rgba(132,204,22, .22); }
html.dark .border-lime-100:not([class*="dark:border-"]),
html.dark .border-lime-200:not([class*="dark:border-"]) { border-color: rgba(132,204,22, .35); }
html.dark .text-lime-700:not([class*="dark:text-"]),
html.dark .text-lime-800:not([class*="dark:text-"]),
html.dark .text-lime-900:not([class*="dark:text-"]) { color: rgb(132,204,22); }
html.dark .bg-green-50:not([class*="dark:bg-"]),
html.dark .bg-green-100:not([class*="dark:bg-"]),
html.dark .bg-green-50\/50:not([class*="dark:bg-"]),
html.dark .bg-green-50\/80:not([class*="dark:bg-"]) { background-color: rgba(34,197,94, .14); }
html.dark .hover\:bg-green-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-green-100:hover:not([class*="dark:bg-"]) { background-color: rgba(34,197,94, .22); }
html.dark .border-green-100:not([class*="dark:border-"]),
html.dark .border-green-200:not([class*="dark:border-"]) { border-color: rgba(34,197,94, .35); }
html.dark .text-green-700:not([class*="dark:text-"]),
html.dark .text-green-800:not([class*="dark:text-"]),
html.dark .text-green-900:not([class*="dark:text-"]) { color: rgb(34,197,94); }
html.dark .bg-emerald-50:not([class*="dark:bg-"]),
html.dark .bg-emerald-100:not([class*="dark:bg-"]),
html.dark .bg-emerald-50\/50:not([class*="dark:bg-"]),
html.dark .bg-emerald-50\/80:not([class*="dark:bg-"]) { background-color: rgba(16,185,129, .14); }
html.dark .hover\:bg-emerald-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-emerald-100:hover:not([class*="dark:bg-"]) { background-color: rgba(16,185,129, .22); }
html.dark .border-emerald-100:not([class*="dark:border-"]),
html.dark .border-emerald-200:not([class*="dark:border-"]) { border-color: rgba(16,185,129, .35); }
html.dark .text-emerald-700:not([class*="dark:text-"]),
html.dark .text-emerald-800:not([class*="dark:text-"]),
html.dark .text-emerald-900:not([class*="dark:text-"]) { color: rgb(16,185,129); }
html.dark .bg-teal-50:not([class*="dark:bg-"]),
html.dark .bg-teal-100:not([class*="dark:bg-"]),
html.dark .bg-teal-50\/50:not([class*="dark:bg-"]),
html.dark .bg-teal-50\/80:not([class*="dark:bg-"]) { background-color: rgba(20,184,166, .14); }
html.dark .hover\:bg-teal-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-teal-100:hover:not([class*="dark:bg-"]) { background-color: rgba(20,184,166, .22); }
html.dark .border-teal-100:not([class*="dark:border-"]),
html.dark .border-teal-200:not([class*="dark:border-"]) { border-color: rgba(20,184,166, .35); }
html.dark .text-teal-700:not([class*="dark:text-"]),
html.dark .text-teal-800:not([class*="dark:text-"]),
html.dark .text-teal-900:not([class*="dark:text-"]) { color: rgb(20,184,166); }
html.dark .bg-cyan-50:not([class*="dark:bg-"]),
html.dark .bg-cyan-100:not([class*="dark:bg-"]),
html.dark .bg-cyan-50\/50:not([class*="dark:bg-"]),
html.dark .bg-cyan-50\/80:not([class*="dark:bg-"]) { background-color: rgba(6,182,212, .14); }
html.dark .hover\:bg-cyan-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-cyan-100:hover:not([class*="dark:bg-"]) { background-color: rgba(6,182,212, .22); }
html.dark .border-cyan-100:not([class*="dark:border-"]),
html.dark .border-cyan-200:not([class*="dark:border-"]) { border-color: rgba(6,182,212, .35); }
html.dark .text-cyan-700:not([class*="dark:text-"]),
html.dark .text-cyan-800:not([class*="dark:text-"]),
html.dark .text-cyan-900:not([class*="dark:text-"]) { color: rgb(6,182,212); }
html.dark .bg-sky-50:not([class*="dark:bg-"]),
html.dark .bg-sky-100:not([class*="dark:bg-"]),
html.dark .bg-sky-50\/50:not([class*="dark:bg-"]),
html.dark .bg-sky-50\/80:not([class*="dark:bg-"]) { background-color: rgba(14,165,233, .14); }
html.dark .hover\:bg-sky-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-sky-100:hover:not([class*="dark:bg-"]) { background-color: rgba(14,165,233, .22); }
html.dark .border-sky-100:not([class*="dark:border-"]),
html.dark .border-sky-200:not([class*="dark:border-"]) { border-color: rgba(14,165,233, .35); }
html.dark .text-sky-700:not([class*="dark:text-"]),
html.dark .text-sky-800:not([class*="dark:text-"]),
html.dark .text-sky-900:not([class*="dark:text-"]) { color: rgb(14,165,233); }
html.dark .bg-blue-50:not([class*="dark:bg-"]),
html.dark .bg-blue-100:not([class*="dark:bg-"]),
html.dark .bg-blue-50\/50:not([class*="dark:bg-"]),
html.dark .bg-blue-50\/80:not([class*="dark:bg-"]) { background-color: rgba(34, 197, 94, .14); }
html.dark .hover\:bg-blue-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-blue-100:hover:not([class*="dark:bg-"]) { background-color: rgba(34, 197, 94, .22); }
html.dark .border-blue-100:not([class*="dark:border-"]),
html.dark .border-blue-200:not([class*="dark:border-"]) { border-color: rgba(34, 197, 94, .35); }
html.dark .text-blue-700:not([class*="dark:text-"]),
html.dark .text-blue-800:not([class*="dark:text-"]),
html.dark .text-blue-900:not([class*="dark:text-"]) { color: rgb(59,130,246); }
html.dark .bg-indigo-50:not([class*="dark:bg-"]),
html.dark .bg-indigo-100:not([class*="dark:bg-"]),
html.dark .bg-indigo-50\/50:not([class*="dark:bg-"]),
html.dark .bg-indigo-50\/80:not([class*="dark:bg-"]) { background-color: rgba(34, 197, 94, .14); }
html.dark .hover\:bg-indigo-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-indigo-100:hover:not([class*="dark:bg-"]) { background-color: rgba(34, 197, 94, .22); }
html.dark .border-indigo-100:not([class*="dark:border-"]),
html.dark .border-indigo-200:not([class*="dark:border-"]) { border-color: rgba(34, 197, 94, .35); }
html.dark .text-indigo-700:not([class*="dark:text-"]),
html.dark .text-indigo-800:not([class*="dark:text-"]),
html.dark .text-indigo-900:not([class*="dark:text-"]) { color: rgb(99,102,241); }
html.dark .bg-violet-50:not([class*="dark:bg-"]),
html.dark .bg-violet-100:not([class*="dark:bg-"]),
html.dark .bg-violet-50\/50:not([class*="dark:bg-"]),
html.dark .bg-violet-50\/80:not([class*="dark:bg-"]) { background-color: rgba(139,92,246, .14); }
html.dark .hover\:bg-violet-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-violet-100:hover:not([class*="dark:bg-"]) { background-color: rgba(139,92,246, .22); }
html.dark .border-violet-100:not([class*="dark:border-"]),
html.dark .border-violet-200:not([class*="dark:border-"]) { border-color: rgba(139,92,246, .35); }
html.dark .text-violet-700:not([class*="dark:text-"]),
html.dark .text-violet-800:not([class*="dark:text-"]),
html.dark .text-violet-900:not([class*="dark:text-"]) { color: rgb(139,92,246); }
html.dark .bg-purple-50:not([class*="dark:bg-"]),
html.dark .bg-purple-100:not([class*="dark:bg-"]),
html.dark .bg-purple-50\/50:not([class*="dark:bg-"]),
html.dark .bg-purple-50\/80:not([class*="dark:bg-"]) { background-color: rgba(168,85,247, .14); }
html.dark .hover\:bg-purple-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-purple-100:hover:not([class*="dark:bg-"]) { background-color: rgba(168,85,247, .22); }
html.dark .border-purple-100:not([class*="dark:border-"]),
html.dark .border-purple-200:not([class*="dark:border-"]) { border-color: rgba(168,85,247, .35); }
html.dark .text-purple-700:not([class*="dark:text-"]),
html.dark .text-purple-800:not([class*="dark:text-"]),
html.dark .text-purple-900:not([class*="dark:text-"]) { color: rgb(168,85,247); }
html.dark .bg-fuchsia-50:not([class*="dark:bg-"]),
html.dark .bg-fuchsia-100:not([class*="dark:bg-"]),
html.dark .bg-fuchsia-50\/50:not([class*="dark:bg-"]),
html.dark .bg-fuchsia-50\/80:not([class*="dark:bg-"]) { background-color: rgba(217,70,239, .14); }
html.dark .hover\:bg-fuchsia-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-fuchsia-100:hover:not([class*="dark:bg-"]) { background-color: rgba(217,70,239, .22); }
html.dark .border-fuchsia-100:not([class*="dark:border-"]),
html.dark .border-fuchsia-200:not([class*="dark:border-"]) { border-color: rgba(217,70,239, .35); }
html.dark .text-fuchsia-700:not([class*="dark:text-"]),
html.dark .text-fuchsia-800:not([class*="dark:text-"]),
html.dark .text-fuchsia-900:not([class*="dark:text-"]) { color: rgb(217,70,239); }
html.dark .bg-pink-50:not([class*="dark:bg-"]),
html.dark .bg-pink-100:not([class*="dark:bg-"]),
html.dark .bg-pink-50\/50:not([class*="dark:bg-"]),
html.dark .bg-pink-50\/80:not([class*="dark:bg-"]) { background-color: rgba(236,72,153, .14); }
html.dark .hover\:bg-pink-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-pink-100:hover:not([class*="dark:bg-"]) { background-color: rgba(236,72,153, .22); }
html.dark .border-pink-100:not([class*="dark:border-"]),
html.dark .border-pink-200:not([class*="dark:border-"]) { border-color: rgba(236,72,153, .35); }
html.dark .text-pink-700:not([class*="dark:text-"]),
html.dark .text-pink-800:not([class*="dark:text-"]),
html.dark .text-pink-900:not([class*="dark:text-"]) { color: rgb(236,72,153); }
html.dark .bg-rose-50:not([class*="dark:bg-"]),
html.dark .bg-rose-100:not([class*="dark:bg-"]),
html.dark .bg-rose-50\/50:not([class*="dark:bg-"]),
html.dark .bg-rose-50\/80:not([class*="dark:bg-"]) { background-color: rgba(244,63,94, .14); }
html.dark .hover\:bg-rose-50:hover:not([class*="dark:bg-"]),
html.dark .hover\:bg-rose-100:hover:not([class*="dark:bg-"]) { background-color: rgba(244,63,94, .22); }
html.dark .border-rose-100:not([class*="dark:border-"]),
html.dark .border-rose-200:not([class*="dark:border-"]) { border-color: rgba(244,63,94, .35); }
html.dark .text-rose-700:not([class*="dark:text-"]),
html.dark .text-rose-800:not([class*="dark:text-"]),
html.dark .text-rose-900:not([class*="dark:text-"]) { color: rgb(244,63,94); }
html.dark .text-gray-900:not([class*="dark:text-"]),
html.dark .text-gray-800:not([class*="dark:text-"]),
html.dark .text-slate-900:not([class*="dark:text-"]),
html.dark .text-slate-800:not([class*="dark:text-"]),
html.dark .text-black:not([class*="dark:text-"]),
html.dark .text-zinc-900:not([class*="dark:text-"]),
html.dark .text-zinc-800:not([class*="dark:text-"]),
html.dark .text-neutral-900:not([class*="dark:text-"]),
html.dark .text-neutral-800:not([class*="dark:text-"]) { color: #e5e7eb; }
html.dark .text-gray-700:not([class*="dark:text-"]),
html.dark .text-slate-700:not([class*="dark:text-"]),
html.dark .text-gray-600:not([class*="dark:text-"]),
html.dark .text-slate-600:not([class*="dark:text-"]),
html.dark .text-zinc-700:not([class*="dark:text-"]),
html.dark .text-zinc-600:not([class*="dark:text-"]) { color: #d1d5db; }
html.dark .text-gray-500:not([class*="dark:text-"]),
html.dark .text-slate-500:not([class*="dark:text-"]) { color: #9ca3af; }
html.dark .border-gray-50:not([class*="dark:border-"]),
html.dark .border-gray-100:not([class*="dark:border-"]),
html.dark .border-slate-50:not([class*="dark:border-"]),
html.dark .border-slate-100:not([class*="dark:border-"]),
html.dark .border-zinc-100:not([class*="dark:border-"]) { border-color: #1f2937; }
html.dark .border-gray-200:not([class*="dark:border-"]),
html.dark .border-slate-200:not([class*="dark:border-"]),
html.dark .border-gray-300:not([class*="dark:border-"]),
html.dark .border-slate-300:not([class*="dark:border-"]),
html.dark .border-zinc-200:not([class*="dark:border-"]) { border-color: #374151; }
html.dark .divide-gray-50:not([class*="dark:divide-"]) > * + *,
html.dark .divide-gray-100:not([class*="dark:divide-"]) > * + *,
html.dark .divide-gray-200:not([class*="dark:divide-"]) > * + *,
html.dark .divide-slate-100:not([class*="dark:divide-"]) > * + *,
html.dark .divide-slate-200:not([class*="dark:divide-"]) > * + * { border-color: #1f2937; }
:where(html.dark) * { border-color: #243044; }
html.dark input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([class*="dark:bg-"]),
html.dark select:not([class*="dark:bg-"]),
html.dark textarea:not([class*="dark:bg-"]) { background-color: #0b1220; color: #e5e7eb; border-color: #374151; }
html.dark input::placeholder,
html.dark textarea::placeholder { color: #6b7280; }
html.dark option { background-color: #111827; color: #e5e7eb; }
html.dark { color-scheme: dark; }
/* 页脚（footer.css 用 --bg-card，只有笔记页定义了暗色值）与没加载 index.css 的页面上的 .theme-card */
html.dark .custom-footer { background-color: var(--bg-card, #111827); color: #9ca3af; border-top-color: #1f2937; }
html.dark .theme-card:not([class*="dark:bg-"]) { background-color: var(--card-bg, #111827); }
/* 半透明浅色底（bg-gray-50/30 等）叠在暗色上会变成发灰的中间色 */
html.dark .bg-gray-50\/20:not([class*="dark:bg-"]),
html.dark .bg-gray-50\/30:not([class*="dark:bg-"]),
html.dark .bg-gray-50\/70:not([class*="dark:bg-"]),
html.dark .bg-slate-50\/30:not([class*="dark:bg-"]),
html.dark .bg-slate-50\/70:not([class*="dark:bg-"]) { background-color: #111c30; }
html.dark .bg-gray-200\/50:not([class*="dark:bg-"]),
html.dark .bg-gray-200\/60:not([class*="dark:bg-"]),
html.dark .bg-slate-100\/50:not([class*="dark:bg-"]),
html.dark .bg-slate-100\/80:not([class*="dark:bg-"]) { background-color: #1f2937; }
html.dark .bg-slate-50\/60:not([class*="dark:bg-"]) { background-color: #111c30; }
html.dark .bg-gray-100\/60:not([class*="dark:bg-"]),
html.dark .bg-slate-100\/70:not([class*="dark:bg-"]),
html.dark .bg-slate-200\/70:not([class*="dark:bg-"]) { background-color: #1f2937; }

/* 手机：输入框、下拉框不超过容器宽度（兜底，避免个别固定宽度把表单撑出屏幕） */
@media (max-width: 480px) {
    input, select, textarea { max-width: 100%; }
}
