/* Shared interaction and accessibility primitives. Page layouts remain scoped. */
html {
  scroll-behavior:smooth
}
body {
  font-family:Inter,ui-sans-serif,system-ui,sans-serif
}
button,input,select,textarea {
  font-family:inherit
}
button,a,input,select,textarea {
   -webkit-tap-highlight-color:transparent
}

:where(button,a,input,select,textarea,summary):focus-visible {
  outline:2px solid var(--zt-primary);
  outline-offset:3px;
  box-shadow:var(--zt-focus)
}

button:disabled {
  cursor:not-allowed;
  opacity:.55
}
button {
  transition:background .16s,border-color .16s,box-shadow .16s
}
dialog {
  border:1px solid var(--zt-line);
  border-radius:var(--zt-radius);
  box-shadow:0 24px 100px #20263e30
}
dialog::backdrop {
  background:#181b3859;
  backdrop-filter:blur(4px)
}

.skip-link {
  position:fixed;
  top:-100px;
  left:16px;
  z-index:2000;
  background:var(--zt-primary);
  color:white;
  padding:12px 18px;
  border-radius:10px
}
.skip-link:focus {
  top:12px
}

.zt-mobile-toggle {
  display:none
}
.zt-nav-backdrop {
  display:none
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    animation-duration:.01ms!important;
    transition-duration:.01ms!important
  }
}
