/* Shared interaction primitives; deliberately independent of page themes. */
[hidden]:not([hidden="until-found"]) {
  display: none !important;
}
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #7050ad;
  outline-offset: 4px;
}
.jjb-skip-link {
  position: fixed;
  inset-block-start: 8px;
  inset-inline-start: 16px;
  transform: translateY(-160%);
  z-index: 100000;
  background: #2e2a3d;
  color: #fff;
  border-radius: 12px;
  padding: 12px 20px;
  font: 700 15px Vazirmatn, sans-serif;
}
.jjb-skip-link:focus {
  transform: none;
}
.jjb-network-status {
  position: fixed;
  inset-inline: 16px;
  inset-block-end: max(20px, env(safe-area-inset-bottom));
  width: fit-content;
  max-width: calc(100% - 32px);
  margin-inline: auto;
  z-index: 9999;
  border: 1px solid #dfc78d;
  border-radius: 14px;
  background: #fff6df;
  color: #503a13;
  padding: 12px 20px;
  box-shadow: 0 6px 24px #2e2a3d18;
  font: 500 14px/1.8 Vazirmatn, sans-serif;
}
:where(main, section[id], h1, h2) {
  scroll-margin-top: 100px;
}
:where(input, select, textarea) {
  max-width: 100%;
}
:where(button, input, select, textarea) {
  font-family: inherit;
}
:where(img) {
  max-width: 100%;
}
:where(button:disabled, input:disabled) {
  cursor: not-allowed;
}
@media (max-width: 640px) {
  :where(input:not([type=checkbox]):not([type=radio]), select, textarea) {
    font-size: max(16px, 1em);
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
@media (forced-colors: active) {
  :where(a, button, input, select, textarea, summary):focus-visible {
    outline-color: Highlight;
  }
}
