/* Mermaid diagram panel & viewport styles */

/* Hide loading when diagram is rendered */
.mermaid_mermaid__CIKlm[data-mermaid-rendered] .mermaid_mermaid-loading__DMqYd {
  display: none !important;
}
/* Mermaid output: cap size so diagram does not fill the viewport (non-viewport panels) */
.mermaid_mermaid__CIKlm .mermaid_mermaid-output__ffw_e {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 560px;
  min-width: 0;
  margin-inline: auto;
  max-height: 70vh;
  overflow: auto;
}
.mermaid_mermaid__CIKlm .mermaid_mermaid-output__ffw_e svg {
  width: 100%;
  max-width: 100%;
  height: auto;
}
/* Zoom/pan viewport (MermaidDiagramViewport) */
.mermaid_mermaid-diagram-viewport__IIzPa .mermaid_mermaid__CIKlm {
  position: relative;
  width: 100%;
  height: auto;
  min-height: inherit;
}
.mermaid_mermaid-diagram-viewport__IIzPa .mermaid_mermaid-output__ffw_e {
  display: contents;
  width: max-content;
  max-width: none;
  max-height: none;
  margin: 0;
  overflow: visible;
}
.mermaid_mermaid-diagram-viewport__IIzPa .mermaid_mermaid-output__ffw_e svg {
  width: auto;
  max-width: none;
  height: auto;
  display: block;
}
/* Keep diagram sizing inside the pan/zoom panel */
.mermaid_mermaid-panel__7RAFs .mermaid_mermaid-output__ffw_e svg {
  width: auto;
  max-width: none;
}

/* JSON tree viewer panel styles */

.JsonView_json-view-panel__Dvekl .JsonView_json-view-viewport__uipGj {
  background: hsl(var(--background));
}
.JsonView_json-view-panel__Dvekl[data-json-view-panel] .JsonView_json-view-viewport__uipGj[data-json-view-ready='1'] .JsonView_json-view-loading__N44BS {
  display: none !important;
}
.JsonView_json-view-panel__Dvekl .react-json-view {
  background: transparent !important;
}

/* Leaflet map panel styles */

.LeafletMap_leaflet-map-panel__XIPNh .LeafletMap_leaflet-map-viewport__orOaB {
  background: hsl(var(--background));
}
.LeafletMap_leaflet-map-panel__XIPNh[data-leaflet-map-panel] .LeafletMap_leaflet-map-viewport__orOaB[data-leaflet-map-ready='1'] .LeafletMap_leaflet-map-loading__zcae5 {
  display: none !important;
}
.LeafletMap_leaflet-map-panel__XIPNh .LeafletMap_leaflet-map-container__Hxy6n .leaflet-container {
  height: 100%;
  width: 100%;
  font: inherit;
}
.LeafletMap_leaflet-map-panel__XIPNh .leaflet-control-attribution {
  background: hsl(var(--card) / 0.92) !important;
  color: hsl(var(--muted-foreground)) !important;
}
.LeafletMap_leaflet-map-panel__XIPNh .leaflet-control-attribution a {
  color: hsl(var(--primary)) !important;
}
.LeafletMap_leaflet-map-panel__XIPNh .leaflet-popup-content-wrapper,
.LeafletMap_leaflet-map-panel__XIPNh .leaflet-popup-tip {
  background: hsl(var(--card));
  color: hsl(var(--card-foreground));
}
.LeafletMap_leaflet-map-panel__XIPNh .leaflet-bar a {
  background: hsl(var(--card));
  color: hsl(var(--foreground));
  border-color: hsl(var(--border));
}
.LeafletMap_leaflet-map-panel__XIPNh .leaflet-bar a:hover {
  background: hsl(var(--accent));
  color: hsl(var(--accent-foreground));
}

/* Markmap mind-map panel styles */

.Markmap_markmap-panel__asiVO {
  --markmap-text-color: hsl(var(--foreground));
  --markmap-circle-open-bg: hsl(var(--card));
  --markmap-code-bg: hsl(var(--muted));
  --markmap-code-color: hsl(var(--foreground));
  --markmap-a-color: hsl(var(--primary));
  --markmap-a-hover-color: hsl(var(--primary));
  --markmap-highlight-bg: hsl(var(--accent));
  --markmap-highlight-node-bg: hsl(var(--primary) / 0.12);
  --markmap-font: inherit;
}
.Markmap_markmap-panel__asiVO .Markmap_markmap-viewport__uyJdL {
  background: hsl(var(--background));
}
.Markmap_markmap-panel__asiVO[data-markmap-panel] .Markmap_markmap-viewport__uyJdL[data-markmap-ready='1'] .Markmap_markmap-loading__cl3E4 {
  display: none !important;
}
.Markmap_markmap-panel__asiVO .Markmap_markmap-svg__39QHV {
  min-height: inherit;
}
/* foreignObject HTML does not inherit color from svg.markmap */
.Markmap_markmap-panel__asiVO svg.Markmap_markmap__7tdGu {
  --markmap-text-color: hsl(var(--foreground));
  --markmap-circle-open-bg: hsl(var(--card));
  --markmap-code-bg: hsl(var(--muted));
  --markmap-code-color: hsl(var(--foreground));
  --markmap-a-color: hsl(var(--primary));
  --markmap-a-hover-color: hsl(var(--primary));
  --markmap-highlight-bg: hsl(var(--accent));
  --markmap-highlight-node-bg: hsl(var(--primary) / 0.12);
  color: hsl(var(--foreground));
}
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7,
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7 div,
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7 p,
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7 li,
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7 td,
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7 th,
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7 strong,
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7 em,
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7 del,
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7 span:not(a span) {
  color: hsl(var(--foreground));
}
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7 a {
  color: hsl(var(--primary));
}
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7 a:hover {
  color: hsl(var(--primary));
}
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7 code {
  color: hsl(var(--foreground));
  background-color: hsl(var(--muted));
}
.Markmap_markmap-panel__asiVO .Markmap_markmap-foreign__mDHI7 mark {
  background: hsl(var(--accent));
  color: hsl(var(--foreground));
}

/* Embla Carousel center-mode styles */

.Carousel_embla-center-mode__NhO2b {
  --embla-slide-spacing: 40px;

  /* Clip viewport to prevent flash of all slides before Embla initializes */
  > .overflow-hidden {
    overflow: hidden !important;
  }

  /* Rounded nav buttons matching Fancyapps style */
  [data-carousel-nav] {
    background: #ddd;
    border-radius: 100%;
    opacity: 0.85;

    &:hover {
      background: white;
      opacity: 1;
    }
  }
}

/* Slide layout in center-mode */
.Carousel_embla-center-mode__NhO2b [data-carousel-index] {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Slide image styling */
.Carousel_embla-center-mode__NhO2b [data-carousel-index] img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease, filter 0.3s ease;
  margin: 0;
}

/* Non-selected slides: scaled down & dimmed */
.Carousel_embla-center-mode__NhO2b [data-carousel-index]:not(.is-selected) img {
  transform: scale(0.85);
  filter: brightness(0.5);
}

/* Selected slide: full scale & brightness */
.Carousel_embla-center-mode__NhO2b [data-carousel-index].is-selected img {
  transform: scale(1);
  filter: brightness(1);
}

/* Reveal.js deck panel styles */

.RevealDeck_reveal-deck-panel__nY6_L .RevealDeck_reveal-deck-viewport__cnqYq {
  background: hsl(var(--background));
}
.RevealDeck_reveal-deck-panel__nY6_L[data-reveal-deck-panel] .RevealDeck_reveal-deck-viewport__cnqYq[data-reveal-deck-ready='1'] .RevealDeck_reveal-deck-loading__u0cKX {
  display: none !important;
}
.RevealDeck_reveal-deck-panel__nY6_L .RevealDeck_reveal-deck-stage__Q8hZV {
  min-height: 0;
}
/* Non-fullscreen: 16:9 slide canvas (toolbar sits below) */
.RevealDeck_reveal-deck-panel__nY6_L .RevealDeck_reveal-deck-viewport__cnqYq:not(:fullscreen):not([data-reveal-deck-fullscreen='1']) {
  height: auto;
  max-height: none;
}
.RevealDeck_reveal-deck-panel__nY6_L
  .RevealDeck_reveal-deck-viewport__cnqYq:not(:fullscreen):not([data-reveal-deck-fullscreen='1'])
  .RevealDeck_reveal-deck-stage__Q8hZV {
  aspect-ratio: 16 / 9;
  width: 100%;
  flex: 0 0 auto;
  height: auto;
  max-height: calc(85vh - 2.75rem);
}
.RevealDeck_reveal-deck-panel__nY6_L
  .RevealDeck_reveal-deck-viewport__cnqYq:fullscreen
  .RevealDeck_reveal-deck-stage__Q8hZV,
.RevealDeck_reveal-deck-panel__nY6_L
  .RevealDeck_reveal-deck-viewport__cnqYq[data-reveal-deck-fullscreen='1']
  .RevealDeck_reveal-deck-stage__Q8hZV {
  aspect-ratio: auto;
  max-height: none;
}
.RevealDeck_reveal-deck-panel__nY6_L .RevealDeck_reveal-deck-viewport__cnqYq .reveal.RevealDeck_reveal-deck-embedded__XeGbT,
.RevealDeck_reveal-deck-panel__nY6_L .RevealDeck_reveal-deck-viewport__cnqYq.reveal-viewport {
  height: 100%;
  width: 100%;
}
.RevealDeck_reveal-deck-panel__nY6_L .RevealDeck_reveal-deck-viewport__cnqYq .reveal .progress {
  background: hsl(var(--muted));
  height: 3px;
}
.RevealDeck_reveal-deck-panel__nY6_L .RevealDeck_reveal-deck-viewport__cnqYq .reveal .progress span {
  background: hsl(var(--primary));
}
.RevealDeck_reveal-deck-panel__nY6_L .RevealDeck_reveal-deck-viewport__cnqYq .reveal .slide-number {
  color: hsl(var(--muted-foreground));
  background: hsl(var(--card) / 0.9);
  font-size: 0.75rem;
  padding: 0.15rem 0.45rem;
  border-radius: 0.25rem;
}
.RevealDeck_reveal-deck-panel__nY6_L .RevealDeck_reveal-deck-viewport__cnqYq .reveal .slides section a {
  color: hsl(var(--primary));
}
.RevealDeck_reveal-deck-panel__nY6_L .RevealDeck_reveal-deck-viewport__cnqYq:fullscreen {
  max-height: none;
  height: 100% !important;
  border-radius: 0;
}
.RevealDeck_reveal-deck-panel__nY6_L .RevealDeck_reveal-deck-viewport__cnqYq:fullscreen .RevealDeck_reveal-deck-toolbar__WeRT_,
.RevealDeck_reveal-deck-panel__nY6_L .RevealDeck_reveal-deck-viewport__cnqYq[data-reveal-deck-fullscreen='1'] .RevealDeck_reveal-deck-toolbar__WeRT_ {
  display: none !important;
}

