:root {
  --bijux-ink: #1e2852;
  --bijux-muted: #5f6d8d;
  --bijux-border: rgba(49, 46, 129, 0.16);
  --bijux-panel: rgba(79, 70, 229, 0.05);
  --bijux-panel-strong: rgba(79, 70, 229, 0.08);
  --bijux-map-shadow: 0 22px 54px rgba(30, 41, 89, 0.14);
  --bijux-surface-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.46), rgba(255, 255, 255, 0));
}

[data-md-color-scheme="default"] {
  --md-default-bg-color: #f5f7fd;
  --md-default-bg-color--light: #fbfcff;
  --md-default-fg-color: var(--bijux-ink);
  --md-primary-fg-color: #3f51b5;
  --md-accent-fg-color: #4f46e5;
  --md-typeset-a-color: #3949ab;
}

body,
input,
button {
  font-family: "Avenir Next", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3 {
  letter-spacing: -0.02em;
}

.md-typeset h1 {
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  font-weight: 700;
}

.md-typeset p,
.md-typeset li {
  line-height: 1.75;
  color: var(--bijux-ink);
}

.md-typeset code {
  border-radius: 0.35rem;
}

.md-typeset pre > code {
  border-radius: 0.75rem;
}

.md-typeset .admonition,
.md-typeset details {
  border-radius: 0.75rem;
}

.md-typeset table:not([class]) {
  border: 1px solid var(--bijux-border);
}

.md-typeset blockquote {
  border-left: 0.2rem solid #4f46e5;
  background: var(--bijux-panel);
  padding: 0.1rem 0.8rem;
}

.md-typeset hr {
  border-bottom: 1px solid var(--bijux-border);
}

.md-typeset .mermaid {
  background: var(--bijux-panel-strong);
  border: 1px solid var(--bijux-border);
  border-radius: 0.9rem;
  padding: 1rem;
  overflow-x: auto;
  text-align: center;
}

.md-typeset .mermaid svg {
  display: block;
  margin: 0 auto;
  height: auto;
  max-width: 100%;
}

.bijux-map-frame {
  background: linear-gradient(180deg, rgba(79, 70, 229, 0.09), rgba(99, 102, 241, 0.05));
  border: 1px solid var(--bijux-border);
  border-radius: 1.2rem;
  box-shadow: var(--bijux-map-shadow);
  overflow: hidden;
  margin: 1.5rem 0 2rem;
}

.bijux-map-frame iframe {
  display: block;
  width: 100%;
  min-height: 78vh;
  border: 0;
  background: #fff;
}

.bijux-panel-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin: 1.5rem 0;
}

.bijux-panel {
  background: var(--bijux-surface-gradient), var(--bijux-panel);
  border: 1px solid var(--bijux-border);
  border-radius: 1rem;
  padding: 1rem 1.1rem;
}

.bijux-panel h3 {
  margin-top: 0;
}

.bijux-callout {
  background: linear-gradient(135deg, rgba(79, 70, 229, 0.1), rgba(99, 102, 241, 0.06));
  border: 1px solid var(--bijux-border);
  border-radius: 1rem;
  padding: 1rem 1.1rem;
  margin: 1rem 0 1.5rem;
}

.bijux-quicklinks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1rem 0 1.5rem;
}

.md-typeset .md-button {
  border-radius: 999px;
}

.md-typeset .md-button--primary {
  background: linear-gradient(135deg, #3949ab, #4f46e5);
  border-color: transparent;
}

.bijux-media-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  margin: 1.5rem 0;
}

.bijux-media-card {
  margin: 0;
  background: var(--bijux-surface-gradient), var(--bijux-panel);
  border: 1px solid var(--bijux-border);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: var(--bijux-map-shadow);
}

.bijux-media-card img,
.bijux-media-card video {
  display: block;
  width: 100%;
  background: #0f172a;
}

.bijux-media-card figcaption {
  padding: 0.9rem 1rem 1rem;
  color: var(--bijux-muted);
  font-size: 0.95rem;
}
