.pagination .theme-toggle {
  display: grid;
  place-items: center;
  width: 42px;
  height: 38px;
  min-height: 38px;
  padding: 8px;
  writing-mode: horizontal-tb;
}
.theme-toggle svg { display: block; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.theme-toggle [data-theme-sun], .theme-toggle[data-dark="true"] [data-theme-moon] { display: none; }
.theme-toggle[data-dark="true"] [data-theme-sun] { display: block; color: #edc87c; }
.theme-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media(max-width:760px) { .pagination .theme-toggle { width: 30px; height: 32px; min-height: 32px; padding: 5px; } .theme-toggle svg { width: 18px; height: 18px; } }

:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #eeede7;
  --muted: #afafa5;
  --paper: #171916;
  --card: #22251f;
  --line: #3b4036;
  --accent: #ff906a;
  --accent-dark: #ffab8b;
  --sage: #354236;
  --shadow: 0 20px 60px rgba(0,0,0,.22);
  --theme-soft: #2c3028;
  --theme-input: #1d201a;
}
:root[data-theme="dark"] .topbar { background: rgba(23,25,22,.94); }
:root[data-theme="dark"] :is(.primary,.brand-mark,.profile-avatar) { color: #27180f; }
:root[data-theme="dark"] :is(input, textarea, select) { background: var(--theme-input); color: var(--ink); border-color: var(--line); }
:root[data-theme="dark"] :is(input,textarea)::placeholder { color: #92988a; }
:root[data-theme="dark"] :is(.secondary, .replace-file, .map-import, .map-color-control button select, .manage-link.active, .main-nav a.active, .main-nav a:hover, .admin-view-tabs a.active, .simple-map-titlebar .map-title:focus) { background: var(--theme-soft); color: var(--ink); border-color: var(--line); }
:root[data-theme="dark"] :is(.secondary:hover,.ghost:hover,.note-labels a.active,.note-labels a:hover,.map-links a.active,.map-links a:hover) { background: #3b4135; color: var(--ink); }
:root[data-theme="dark"] .pagination { background: rgba(34,37,31,.92); border-color: #4a5043; box-shadow: 0 12px 36px rgba(0,0,0,.35); }
:root[data-theme="dark"] .pagination .secondary { background: #383e31; color: var(--ink); border-color: transparent; }
:root[data-theme="dark"] .asset-card { border-color: var(--line); box-shadow: 0 3px 14px rgba(0,0,0,.16); }
:root[data-theme="dark"] .asset-card.can-open:hover { border-color: #626d54; box-shadow: 0 8px 22px rgba(0,0,0,.26); }
:root[data-theme="dark"] :is(.prompt, .card-body .prompt, .asset-modal-content .prompt, .markdown-preview, .edit-media-card, .edit-layout .media-manager-actions, .recent-uploads article, .markdown-body blockquote, .markdown-body code, .note-tags a, .admin-view-tabs, .record-count, .login-role-filter) { background: var(--theme-soft); }
:root[data-theme="dark"] .asset-modal-panel { background: var(--card); border-color: var(--line); }
:root[data-theme="dark"] :is(.asset-modal-content .modal-prompt-actions button,.copy) { background: #414736; color: #ffb093; box-shadow: none; }
:root[data-theme="dark"] :is(.asset-modal-content .modal-prompt-actions button:hover,.copy:hover) { background: #50583f; }
:root[data-theme="dark"] :is(.asset-modal,.edit-modal) { background: rgba(8,10,7,.3); }
:root[data-theme="dark"] :is(.media-wrap,.edit-media-card img,.edit-media-card video,.markdown-body .note-image img,.image-failed) { background: #2b3027; }
:root[data-theme="dark"] :is(.login-record-row,.note-card,.simple-map-workspace:fullscreen) { background: var(--card); }
:root[data-theme="dark"] .login-shell { background: radial-gradient(circle at 20% 10%, #303426, transparent 45%), var(--paper); }
:root[data-theme="dark"] .is-hidden-content { background-color: #302a1c !important; border-color: #947943 !important; }
:root[data-theme="dark"] :is(.visibility-badge,.visibility-inline,.pending-badge,.review-badge,.role-vip) { background: #493b20; color: #f0cc85; }
:root[data-theme="dark"] :is(.visibility-action,.pin-action.is-pinned,.save-state.dirty) { color: #e0ba75; }
:root[data-theme="dark"] .role-ordinary { background: #3b3e34; color: #d1d1c5; }
:root[data-theme="dark"] :is(.role-admin,.role-superadmin,.view-mode-badge) { background: #314739; color: #b0d9b9; }
:root[data-theme="dark"] :is(.danger,.review-reason,.mindmap-toolbar .danger-soft) { color: #ff9d8e; }
:root[data-theme="dark"] :is(.review-badge.rejected,.flash.error,.form-feedback.is-error,.upload-progress.is-error) { background: #442922; color: #ffb6a7; border-color: #714638; }
:root[data-theme="dark"] :is(.flash.success,.form-feedback) { background: #293c2b; color: #c1e2bd; border-color: #405a3e; }
:root[data-theme="dark"] .asset-modal-content .review-box { background: #342d1e; border-color: #635338; }
:root[data-theme="dark"] .upload-progress { background: var(--theme-soft); }
:root[data-theme="dark"] .upload-progress-track { background: #444b3b; }
:root[data-theme="dark"] .upload-progress-status button { background: #454e38; color: var(--ink); }
:root[data-theme="dark"] .danger-button { background: #a94432; color: white; border-color: transparent; }
:root[data-theme="dark"] .danger-button:hover { background: #bd5140; }
:root[data-theme="dark"] .markdown-body pre code { background: transparent; }
:root[data-theme="dark"] .mindmap-blank-canvas { background-color: var(--theme-input); background-image: radial-gradient(#414736 1px, transparent 1px); }
