/**
 * MS Learn Architecture Center Color System
 * Three-blue palette: #005ba1 (hero), #0078d4 (cards), #0f6cbd (primary)
 * Dual-layer: Infima overrides + custom --ms-learn-* properties
 */

@import 'remark-github-blockquote-alert/alert.css';

/* Segoe UI Variable web font (matches MS Learn) */
@font-face {
  font-family: 'Segoe UI Variable Text';
  src: url('https://learn.microsoft.com/static/third-party/SegoeUIVariable/SegoeUI-VF.ttf') format('truetype-variations');
  font-weight: 100 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SegoeUI';
  src: url('https://learn.microsoft.com/static/third-party/SegoeUIWeb/1.01.206/SegoeUI-Roman-VF_web.woff2') format('woff2');
  font-weight: 100 700;
  font-style: normal;
  font-display: swap;
}

/* Layer 1: Infima variable overrides */
:root {
  --ifm-color-primary: #0f6cbd;
  --ifm-color-primary-dark: #115ea3;
  --ifm-color-primary-darker: #0c3b5e;
  --ifm-color-primary-darkest: #0a2e4a;
  --ifm-color-primary-light: #2886c7;
  --ifm-color-primary-lighter: #479ef5;
  --ifm-color-primary-lightest: #96c6fa;
  --ifm-background-color: #ffffff;
  --ifm-font-color-base: #161616;
  --ifm-link-color: #0065b3;
  --ifm-footer-background-color: #e8e6df;
  --ifm-card-background-color: #ffffff;
  --ifm-code-font-size: 95%;
  --ifm-font-family-base: 'Segoe UI', 'Segoe UI Variable Text', -apple-system, 'system-ui', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --ifm-heading-font-family: 'Segoe UI', 'Segoe UI Variable Text', -apple-system, 'system-ui', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);

  /* Heading sizes to match MS Learn */
  --ifm-h1-font-size: 2.5rem;
  --ifm-h2-font-size: 1.125rem;
  --ifm-h3-font-size: 1rem;
  --ifm-h4-font-size: 0.875rem;
  --ifm-heading-font-weight: 600;
  --ifm-line-height-base: 1.3;

  /* Layer 2: Custom MS Learn properties */
  --ms-learn-hero-bg: #005ba1;
  --ms-learn-hero-gradient: linear-gradient(174.2deg, #005ba1 0%, #004d88 66.72%, #003e6e);
  --ms-learn-hero-text: #ffffff;
  --ms-learn-hero-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' fill='none'%3E%3Cpath d='M8 6l10 10m0-10L8 16M38 36l10 10m0-10L38 46' stroke='%23000' stroke-opacity='0.08' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  --ms-learn-card-accent: #0078d4;
  --ms-learn-card-border: #e6e6e6;
  --ms-learn-text-subtle: #505050;
  --ms-learn-section-bg: #f2f2f2;
  --ms-learn-footer-bg: #e8e6df;
  --ms-learn-visited-link: #624991;
  --ms-learn-success: #107c10;
  --ms-learn-danger: #bc2f32;
}

/* Link hover: MS Learn style (darker color + underline) */
a:hover {
  color: var(--ifm-color-primary-dark);
  text-decoration: underline;
}

/* No underline on card links */
a[class*="cardContainer"]:hover,
a[class*="card"]:hover {
  text-decoration: none;
}

a:visited {
  color: inherit;
}

/* WI-06 / SC 1.4.1: content links carry an underline so color is not the sole
   means of distinguishing them from surrounding text */
.markdown a:not([class*='card']):not([class*='button']) {
  text-decoration: underline;
}

/* WI-06 / SC 2.4.7 + 1.4.11: visible keyboard focus indicator (>=3:1 against
   the page background in both themes via --ifm-color-primary) */
a:focus-visible,
button:focus-visible,
.navbar__link:focus-visible,
.menu__link:focus-visible,
.pagination-nav__link:focus-visible {
  outline: 2px solid var(--ifm-color-primary);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Navbar link hover: no underline in nav */
.navbar__link:hover {
  text-decoration: none;
}

.navbar__link:visited {
  color: inherit;
}

.navbar__search kbd {
  background-color: #ebedf0;
  border-color: #6b7680;
  box-shadow: inset 0 -1px 0 #6b7680;
  color: #4a5560;
}

/* Navbar: MS Learn-style sizing */
.navbar {
  height: 54px;
  padding: 0 24px;
}

.navbar__brand {
  gap: 0;
}

.navbar__logo {
  margin-right: 8px;
  padding-right: 8px;
  border-right: 2px solid #161616;
  height: 24px;
}

.navbar__title {
  font-size: 20px;
  font-weight: 600;
}

.navbar__brand:hover {
  text-decoration: none;
}

.navbar__brand:visited,
.navbar__brand {
  color: inherit;
}

.navbar__title:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.navbar__link {
  font-size: 14px;
  font-weight: 400;
}

.dropdown > .navbar__link {
  font-size: 14px;
  font-weight: 400;
  line-height: 18.2px;
  padding: 4px 12px;
  display: block;
}

.dropdown.navbar__item {
  padding: 0;
}

/* Replace filled triangle dropdown arrow with chevron - only on dropdown items */
.navbar__link[aria-expanded]::after {
  border: none;
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-4px);
  margin-left: 4px;
  vertical-align: middle;
}

/* Navbar dark mode */
[data-theme='dark'] .navbar {
  background-color: #1f1f1f;
  border-bottom: 1px solid var(--ms-learn-card-border);
}

[data-theme='dark'] .navbar__logo {
  border-right-color: #fff;
}

[data-theme='dark'] .navbar__title {
  color: #fff;
}

[data-theme='dark'] .navbar__link {
  color: #fff;
}

[data-theme='dark'] .navbar__link:hover {
  color: #75b6e7;
}

/* Sidebar: MS Learn-style */
.menu__link {
  font-size: 14px;
  font-weight: 400;
  line-height: 25.6px;
  padding: 2px 0 2px 16px;
  color: var(--ifm-font-color-base);
}

.menu__link:hover {
  color: inherit;
}

.menu__link:visited {
  color: inherit;
}

.menu__link--active {
  font-weight: 600;
  color: var(--ifm-font-color-base);
  background-color: var(--ms-learn-section-bg);
}

[data-theme='dark'] .menu__link {
  color: #e6e6e6;
}

.menu__list-item-collapsible > .menu__link {
  font-weight: 400;
}

/* Move caret/chevron to left side of label */
.menu__list-item-collapsible {
  flex-direction: row;
}

.menu__caret {
  order: -1;
  padding: 0;
  margin-right: -4px;
  transform: scale(0.5);
}

.menu__link--sublist {
  padding-left: 4px;
}

/* Child items indented */
.menu__list .menu__list {
  margin-left: 16px;
  padding-left: 0;
}

/* Sidebar container */
.menu {
  padding: 0 24px 24px;
}

.theme-doc-sidebar-menu {
  position: sticky;
  top: 24px;
}

/* Footer: MS Learn-style warm gray background */
.footer--dark {
  background-color: var(--ms-learn-footer-bg);
  color: var(--ifm-font-color-base);
}

.footer--dark .footer__title {
  color: var(--ifm-font-color-base);
}

.footer--dark .footer__link-item {
  color: var(--ifm-link-color);
}

.footer--dark .footer__copyright {
  color: var(--ms-learn-text-subtle);
}

/* Breadcrumbs: MS Learn-style spacing */
.breadcrumbs__item:not(:last-child)::after {
  margin: 0 0.5rem;
}

.breadcrumbs__link {
  font-size: 14px;
  color: var(--ifm-link-color);
}

/* Content area padding */
.theme-doc-markdown {
  padding: 24px 0;
}

/* TOC: "In this article" heading on right-side TOC */
.table-of-contents {
  border-left: 2px solid var(--ms-learn-card-border);
  padding-left: 1rem;
}

.table-of-contents::before {
  content: 'In this article';
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--ifm-font-color-base);
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Article metadata styling */
.theme-doc-markdown header + div {
  color: var(--ms-learn-text-subtle);
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
}

/* Generated-index cards: MS Learn-style treatment */
.docCard {
  border: 1px solid var(--ms-learn-card-border);
  border-radius: 4px;
  transition: box-shadow 0.2s;
}

.docCard:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.docCard a:hover {
  text-decoration: none;
}

/* Dark mode: derived from MS Learn dark theme (extracted via Chrome DevTools) */
[data-theme='dark'] {
  --ifm-color-primary: #75b6e7;
  --ifm-color-primary-dark: #479ef5;
  --ifm-color-primary-darker: #2886c7;
  --ifm-color-primary-darkest: #0f6cbd;
  --ifm-color-primary-light: #96c6fa;
  --ifm-color-primary-lighter: #b8d7f5;
  --ifm-color-primary-lightest: #cfe4fa;
  --ifm-background-color: #1f1f1f;
  --ifm-font-color-base: #ffffff;
  /* WI-06: lighter link tone for additional dark-mode contrast margin (~11:1 on #1f1f1f) */
  --ifm-link-color: #b8d7f5;
  --ifm-footer-background-color: #091f2c;
  --ifm-card-background-color: #091f2c;
  --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);

  --ms-learn-hero-bg: #1a6fb5;
  --ms-learn-hero-gradient: linear-gradient(174.2deg, #1a6fb5 0%, #115ea3 66.72%, #0c3b5e);
  --ms-learn-hero-text: #ffffff;
  --ms-learn-card-accent: #75b6e7;
  --ms-learn-card-border: #404040;
  --ms-learn-text-subtle: #d2d2d2;
  --ms-learn-section-bg: #292929;
  --ms-learn-footer-bg: #091f2c;
  --ms-learn-visited-link: #ac7ee1;
  --ms-learn-success: #2ea043;
  --ms-learn-danger: #f85149;
}

/* WI-07: search dropdown muted-text contrast.
   @easyops-cn/docusaurus-search-local colors the breadcrumb path and the
   "See all results" footer link via `var(--search-local-muted-color, ...)`,
   whose default (#969faf) fails WCAG 1.4.3 against both the popup (#ffffff) and
   footer (#f5f6f7) backgrounds in light mode and against the dark popup in dark
   mode. Overriding the variable raises every consumer above 4.5:1 in one place,
   avoiding a specificity battle with the library's hashed-class rules. */
:root {
  --search-local-muted-color: #505050;
}

[data-theme='dark'] {
  --search-local-muted-color: #b8d7f5;
}

