/* Shared interface contract. Page themes and saved customizations stay local. */
:root {
  --ui-paper: #f0dfb8;
  --ui-ink: #352719;
  --ui-wax: #8b383e;
  --ui-gold: #b38a43;
  --ui-focus: #7fd8ff;
  --ui-radius: 12px;
  --ui-space: 0.5rem;
  --layer-navigation: 1000;
  --layer-dialog: 12000;
  --layer-media: 13000;
  --layer-confirmation: 14000;
  --layer-toast: 15000;
}
body:is(.pm-grimoire, .codex-grimoire) { --ui-focus: #8b383e; }
#pm-dock, .pm-circles-overlay { --ui-focus: #8b383e; }
.mp-overlay, .ui-modal-overlay, .thread-modal,
.portal-header, .mobile-bottom-nav { --ui-focus: #7fd8ff; }
/* Deliberately stronger than old outline:none rules and inline motion settings. */
html body :is(a[href], button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--ui-focus, #7fd8ff) !important;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
    scroll-behavior: auto !important;
  }
}
