/**
 * Any CSS included here will be global. The classic template
 * bundles Infima by default. Infima is a CSS framework designed to
 * work well for content-centric websites.
 */

/* Self-hosted Inter variable font (GDPR: avoids Google Fonts CDN) */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('/fonts/Inter-Variable-Latin.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* You can override the default Infima variables here. */
:root {
  /* Primary red color palette */
  --ifm-color-primary: #e53a3a;
  --ifm-color-primary-dark: #cb3434;
  --ifm-color-primary-darker: #b32e2e;
  --ifm-color-primary-darkest: #991515;
  --ifm-color-primary-light: #ff7a7a;
  --ifm-color-primary-lighter: #ffa0a0;
  --ifm-color-primary-lightest: #ffc6c6;

  /* Custom palette */
  --pf-red-base: #e53a3a;
  --pf-red-dark: #cb3434;
  --pf-red-darker: #b32e2e;
  --pf-red-light: #ff7a7a;
  --pf-red-lighter: #ffa0a0;
  --pf-red-lightest: #ffc6c6;
  --pf-red-ultra-light: #ffd9d9;

  --pf-dark-base: #2e3c46;
  --pf-dark-darker: #17252b;
  --pf-dark-darkest: #10191c;

  --ifm-code-font-size: 95%;
  --ifm-navbar-collapse-breakpoint: 1100px;
  --ifm-font-family-base:
    'Inter', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif,
    BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji',
    'Segoe UI Emoji', 'Segoe UI Symbol';
  --docusaurus-highlighted-code-line-bg: #fffbdc;

  /* Store page tokens */
  --store-card-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  --store-card-shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.1);
}

/* For readability concerns, you should choose a lighter palette in dark mode. */
:root[data-theme='dark'] {
  --ifm-color-primary: #ff7a7a;
  --ifm-color-primary-dark: #e53a3a;
  --ifm-color-primary-darker: #cb3434;
  --ifm-color-primary-darkest: #b32e2e;
  --ifm-color-primary-light: #ffa0a0;
  --ifm-color-primary-lighter: #ffc6c6;
  --ifm-color-primary-lightest: #ffd9d9;
  --ifm-button-color: #fff;
  --docusaurus-highlighted-code-line-bg: rgba(255, 255, 255, 0.08);

  /* Update background colors */
  --ifm-background-color: #10191c;
  --ifm-background-surface-color: #17252b;

  /* Store page tokens */
  --store-card-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  --store-card-shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.3);
}

code p {
  margin-bottom: 0;
}

.hero--primary {
  --ifm-hero-background-color: var(--ifm-background-color);
  --ifm-hero-text-color: var(--ifm-heading-color);
}

.hero__title {
  font-size: 4rem;
}

.theme-doc-sidebar-item-category-level-1 > div {
  font-weight: 600;
}

.navbar__brand {
  font-family: var(--ifm-font-family-monospace);
}

/* Hide search bar on non-docs pages */
html:not(.docs-wrapper) .navbar__search,
html:not(.docs-wrapper) .DocSearch {
  display: none !important;
}

/* Scalar API Reference search modal - Safari fixes */
#app div.scalar-modal.scalar-modal-search.bg-b-1,
#app div.scalar-modal-body {
  background-color: white !important;
  background: white !important;
}

[data-theme='dark'] #app div.scalar-modal.scalar-modal-search.bg-b-1,
[data-theme='dark'] #app div.scalar-modal-body {
  background-color: #1a1a1a !important;
  background: #1a1a1a !important;
}

/* Mobile navbar adjustments */
@media (max-width: 1100px) {
  /* Hide search box on mobile to prevent overlap */
  .navbar__search,
  .DocSearch {
    display: none !important;
  }

  /* Keep hamburger top-level items consistent */
  .navbar-sidebar__items .menu__list > .menu__list-item > .menu__link {
    font-weight: 600;
  }
}

.navbar__logo img {
  filter: invert(0);
}

.header-github-link:hover {
  opacity: 0.6;
}

.header-github-link::before {
  content: '';
  width: 24px;
  height: 24px;
  display: flex;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")
    no-repeat;
}

[data-theme='dark'] .header-github-link::before {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")
    no-repeat;
}

.header-discord-link:hover {
  opacity: 0.6;
}

.header-discord-link::before {
  content: '';
  width: 24px;
  height: 24px;
  display: flex;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0a12.64 12.64 0 0 0-.617-1.25a.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.078.078 0 0 0 .084-.028a14.09 14.09 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13.107 13.107 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10.2 10.2 0 0 0 .372-.292a.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127a12.299 12.299 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028a19.839 19.839 0 0 0 6.002-3.03a.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418z'/%3E%3C/svg%3E")
    no-repeat;
}

[data-theme='dark'] .header-discord-link::before {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0a12.64 12.64 0 0 0-.617-1.25a.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.078.078 0 0 0 .084-.028a14.09 14.09 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13.107 13.107 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10.2 10.2 0 0 0 .372-.292a.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127a12.299 12.299 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028a19.839 19.839 0 0 0 6.002-3.03a.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418z'/%3E%3C/svg%3E")
    no-repeat;
}

.navbar__items--right > :nth-last-child(2) {
  /* Equalize the spacing to the left of the color mode toggle */
  margin-left: 4px;
}

.dropdown > .navbar__link:after {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")
    no-repeat center;
  border: none;
  content: '';
  width: 16px;
  height: 16px;
  position: relative;
  top: 3px;
  margin-left: 2px;
  transform: none;
  opacity: 0.4;
  background-size: 16px;
}

/* Book a Demo button styling */
.header-book-demo-link {
  background-color: var(--pf-red-base);
  color: white !important;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-weight: 600;
  transition: all 0.2s ease-in-out;
  margin-right: 0.75rem;
}

.header-book-demo-link:hover {
  background-color: var(--pf-red-dark);
  color: white !important;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(229, 58, 58, 0.3);
}

[data-theme='dark'] .header-book-demo-link {
  background-color: var(--pf-red-light);
  color: var(--pf-dark-darkest) !important;
}

[data-theme='dark'] .header-book-demo-link:hover {
  background-color: var(--pf-red-lighter);
  color: var(--pf-dark-darkest) !important;
  box-shadow: 0 4px 12px rgba(255, 122, 122, 0.3);
}

/* Mobile adjustments for book demo button */
@media (max-width: 1100px) {
  .header-book-demo-link {
    margin-right: 0;
    margin-bottom: 0.5rem;
  }
}

/* ── Sidebar refinements ── */

/* Subtle off-white background for the sidebar */
.theme-doc-sidebar-container {
  background: #f8f9fa;
  border-right: 1px solid #e9ecef;
}

[data-theme='dark'] .theme-doc-sidebar-container {
  background: var(--ifm-background-surface-color);
  border-right-color: #1e2d33;
}

/* Tighter vertical spacing on sidebar items */
.menu__link {
  padding: 0.3rem 0.75rem;
  font-size: 0.9375rem;
  border-radius: 6px;
  transition:
    background 0.15s,
    color 0.15s;
}

/* Active item: colored left border accent */
.menu__link--active {
  background: var(--pf-red-ultra-light);
  border-left: 3px solid var(--pf-red-base);
  padding-left: calc(0.75rem - 3px);
  font-weight: 600;
}

[data-theme='dark'] .menu__link--active {
  background: rgba(255, 122, 122, 0.1);
  border-left-color: var(--pf-red-light);
}

/* When a child is also active, suppress the parent category accent */
.menu__list-item:has(> .menu__list .menu__link--active) > div > .menu__link--active,
.menu__list-item:has(> .menu__list .menu__link--active) > .menu__link--active {
  background: none;
  border-left: none;
  padding-left: 0.75rem;
}

/* Hover state */
.menu__link:hover:not(.menu__link--active) {
  background: #eef0f2;
}

[data-theme='dark'] .menu__link:hover:not(.menu__link--active) {
  background: rgba(255, 255, 255, 0.05);
}

/* Smooth expand/collapse transition for categories */
.menu__list {
  transition: height 0.2s ease;
}

/* ── Admonition refinements ── */

/* Base: strip default Docusaurus/Infima alert styling */
.theme-admonition {
  border: none;
  border-left: 3px solid;
  border-radius: 0 8px 8px 0;
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
  box-shadow: none;
  --ifm-alert-padding-horizontal: 1.25rem;
  --ifm-alert-padding-vertical: 1rem;
}

/* Heading: uppercase small label */
[class*='admonitionHeading'] {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

/* Icon: slightly smaller */
[class*='admonitionIcon'] svg {
  width: 1rem;
  height: 1rem;
}

/* Content: tighter typography */
[class*='admonitionContent'] > :last-child {
  margin-bottom: 0;
}

/* ── Per-type colors ── */

/* Note (gray) */
.theme-admonition-note {
  border-left-color: #868e96;
  background: #f8f9fa;
}
[data-theme='dark'] .theme-admonition-note {
  border-left-color: #adb5bd;
  background: rgba(173, 181, 189, 0.08);
}

/* Tip (green) */
.theme-admonition-tip {
  border-left-color: #2f9e44;
  background: #ebfbee;
}
[data-theme='dark'] .theme-admonition-tip {
  border-left-color: #51cf66;
  background: rgba(47, 158, 68, 0.08);
}

/* Info (blue) */
.theme-admonition-info,
.theme-admonition-important {
  border-left-color: #1971c2;
  background: #e7f5ff;
}
[data-theme='dark'] .theme-admonition-info,
[data-theme='dark'] .theme-admonition-important {
  border-left-color: #4dabf7;
  background: rgba(25, 113, 194, 0.08);
}

/* Warning / Caution (amber) */
.theme-admonition-warning,
.theme-admonition-caution {
  border-left-color: #e8590c;
  background: #fff4e6;
}
[data-theme='dark'] .theme-admonition-warning,
[data-theme='dark'] .theme-admonition-caution {
  border-left-color: #ff922b;
  background: rgba(232, 89, 12, 0.08);
}

/* Danger (red) */
.theme-admonition-danger {
  border-left-color: #c92a2a;
  background: #fff5f5;
}
[data-theme='dark'] .theme-admonition-danger {
  border-left-color: #ff6b6b;
  background: rgba(201, 42, 42, 0.08);
}

/* Add breathing room between content and TOC */
.theme-doc-toc-desktop {
  padding-left: 1.5rem;
}

/* Constrain doc content area for readability */
[class*='docMainContainer'] > .container {
  max-width: 1280px;
  margin: 0 auto;
}

.llmJudgeFigure {
  max-width: 1120px;
  margin: 2rem auto;
}

.llmJudgeFigure img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.redteamPolicyScreenshotLink {
  display: block;
  margin: 1rem 0 1.5rem;
  border-radius: 8px;
  line-height: 0;
}

.redteamPolicyScreenshotLink:hover,
.redteamPolicyScreenshotLink:focus {
  text-decoration: none;
}

.redteamPolicyScreenshotLink:focus:not(:focus-visible) {
  outline: none;
}

.redteamPolicyScreenshotLink:focus-visible {
  outline: 2px solid var(--ifm-color-primary);
  outline-offset: 3px;
}
.redteamPolicyScreenshot {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  box-sizing: border-box;
  margin: 0;
  border: 1px solid var(--ifm-color-emphasis-200);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.08);
}

[data-theme='dark'] .redteamPolicyScreenshot {
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.24);
}

.redteamPluginScreenshotFigure {
  margin: 1.25rem 0 1.75rem;
}

.redteamPluginScreenshotFigure figcaption {
  margin: 0.5rem 0 0;
  color: var(--ifm-color-emphasis-700);
  font-size: 0.875rem;
  line-height: 1.5;
}

.redteamPluginScreenshotLink {
  display: block;
  border-radius: 8px;
  line-height: 0;
}

.redteamPluginScreenshotLink:hover,
.redteamPluginScreenshotLink:focus {
  text-decoration: none;
}

.redteamPluginScreenshotLink:focus:not(:focus-visible) {
  outline: none;
}

.redteamPluginScreenshotLink:focus-visible {
  outline: 2px solid var(--ifm-color-primary);
  outline-offset: 3px;
}

.redteamPluginScreenshot {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  box-sizing: border-box;
  margin: 0;
  border: 1px solid var(--ifm-color-emphasis-200);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.08);
}

[data-theme='dark'] .redteamPluginScreenshot {
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.24);
}

@media (max-width: 768px) {
  .redteamPolicyScreenshotLink {
    margin: 0.75rem 0 1.25rem;
    border-radius: 6px;
  }

  .redteamPolicyScreenshot {
    border-radius: 6px;
  }

  .redteamPluginScreenshotFigure {
    margin: 1rem 0 1.5rem;
  }

  .redteamPluginScreenshotLink {
    border-radius: 6px;
  }

  .redteamPluginScreenshot {
    border-radius: 6px;
  }
}

/* Remove pill background from active breadcrumb item */
.breadcrumbs__item--active .breadcrumbs__link {
  background: none;
  padding: 0;
}

/* Prevent iOS zoom on input focus within MUI overlays */
[class*='MuiDrawer'] input,
[class*='MuiDrawer'] select,
[class*='MuiDrawer'] textarea,
[class*='MuiDialog'] input,
[class*='MuiDialog'] select,
[class*='MuiDialog'] textarea {
  font-size: 16px !important;
}

/* Print styles — hide MUI overlays */
@media print {
  .MuiDrawer-root,
  .MuiDialog-root,
  .MuiFab-root {
    display: none !important;
  }
}

/* Import custom pagination styles */
@import url('./custom-pagination.css');

/* Announcement bar link styling */
div[class*='announcementBar'] a {
  color: #ffffff;
  text-decoration: none;
  text-underline-offset: 2px;
  opacity: 0.85;
  transition: opacity 0.15s;
}

div[class*='announcementBar'] a:hover {
  color: #ffffff;
  text-decoration: underline;
  opacity: 1;
}
