/* Custom styles for im-u Theory Documentation */

/* Image zoom cursor */
.medium-zoom-image {
  cursor: zoom-in;
}

.medium-zoom-image--opened {
  cursor: zoom-out;
}

/* Figure captions */
figure figcaption {
  text-align: center;
  font-style: italic;
  color: var(--md-default-fg-color--light);
  margin-top: 0.5em;
  font-size: 0.9em;
}

/* Mermaid diagram styling */
.mermaid {
  text-align: center;
  margin: 2em 0;
}

/* Custom admonition types */
.md-typeset .admonition.theory,
.md-typeset details.theory {
  border-color: rgb(98, 0, 238);
}

.md-typeset .theory > .admonition-title,
.md-typeset .theory > summary {
  background-color: rgba(98, 0, 238, 0.1);
}

/* Responsive images */
img {
  max-width: 100%;
  height: auto;
}

/* Code block enhancements */
.highlight pre {
  border-radius: 0.5em;
}

/* Table of contents styling */
.md-sidebar--secondary {
  scrollbar-width: thin;
}

/* Custom container for dynamic content */
.dynamic-content {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.5em;
  padding: 1em;
  margin: 1em 0;
  background-color: var(--md-code-bg-color);
}

/* Loading spinner for dynamic content */
.loading {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 3px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: var(--md-primary-fg-color);
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Footnotes styling */
.footnote {
  font-size: 0.85em;
  color: var(--md-default-fg-color--light);
}

/* Language selector enhancement */
.md-header__option {
  display: flex;
  align-items: center;
}

/* Print styles */
@media print {
  .md-header,
  .md-sidebar,
  .md-footer {
    display: none;
  }

  .md-content {
    max-width: 100%;
  }
}
