/* Release-pinned Latin subsets. See docs/assets/fonts/manifest.json. */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/open-sans-v44-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("../assets/fonts/source-sans-3-v19-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Fira Code";
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url("../assets/fonts/fira-code-v27-latin.woff2") format("woff2");
}

:root,
[data-md-color-scheme="default"] {
  --fight-canvas: #F4F6F7;
  --fight-surface: #FFFFFF;
  --fight-raised-surface: #F8FAFA;
  --fight-text: #182126;
  --fight-muted-text: #53636B;
  --fight-strong-boundary: #7E8B91;
  --fight-quiet-boundary: #CBD3D7;
  --fight-kiln: #C2410C;
  --fight-kiln-strong: #9A3412;
  --fight-focus: #9A3412;
  --fight-footer-surface: #101619;
  --fight-footer-text: #EEF2F3;
  --fight-footer-link: #FF7A45;
  --fight-footer-focus: #FF9A72;
  --fight-code-keyword: #C2410C;
  --fight-code-string: #147A4B;
  --fight-code-type: #6D4BC3;
  --fight-code-symbol: #006C8F;
  --fight-code-number: #9A5B00;
  --fight-code-comment: #5D6A70;
  --md-default-bg-color: var(--fight-canvas);
  --md-default-fg-color: var(--fight-text);
  --md-default-fg-color--light: var(--fight-muted-text);
  --md-default-fg-color--lighter: var(--fight-quiet-boundary);
  --md-primary-fg-color: var(--fight-surface);
  --md-primary-bg-color: var(--fight-text);
  --md-accent-fg-color: var(--fight-kiln);
  --md-typeset-a-color: var(--fight-kiln);
  --md-code-bg-color: var(--fight-raised-surface);
  --md-code-fg-color: var(--fight-text);
  --md-text-font: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --md-code-font: "Fira Code", "SFMono-Regular", Consolas, monospace;
}

[data-md-color-scheme="slate"] {
  --fight-canvas: #101619;
  --fight-surface: #172025;
  --fight-raised-surface: #1C272C;
  --fight-text: #EEF2F3;
  --fight-muted-text: #AAB7BD;
  --fight-strong-boundary: #667780;
  --fight-quiet-boundary: #344249;
  --fight-kiln: #FF7A45;
  --fight-kiln-strong: #FF9A72;
  --fight-focus: #FF9A72;
  --fight-footer-surface: #101619;
  --fight-footer-text: #EEF2F3;
  --fight-footer-link: #FF7A45;
  --fight-footer-focus: #FF9A72;
  --fight-code-keyword: #FF9A72;
  --fight-code-string: #68D391;
  --fight-code-type: #C4A7FF;
  --fight-code-symbol: #80D4FF;
  --fight-code-number: #F3C969;
  --fight-code-comment: #AAB7BD;
  --md-default-bg-color: var(--fight-canvas);
  --md-default-fg-color: var(--fight-text);
  --md-default-fg-color--light: var(--fight-muted-text);
  --md-default-fg-color--lighter: var(--fight-quiet-boundary);
  --md-primary-fg-color: var(--fight-surface);
  --md-primary-bg-color: var(--fight-text);
  --md-accent-fg-color: var(--fight-kiln);
  --md-typeset-a-color: var(--fight-kiln);
  --md-code-bg-color: var(--fight-raised-surface);
  --md-code-fg-color: var(--fight-text);
}

/* Keep the reading measure comfortable while giving code examples more room. */
.md-grid {
  max-width: 1280px;
}

.md-typeset {
  color: var(--fight-text);
  font-size: 0.8rem;
  line-height: 1.625;
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4 {
  color: var(--fight-text);
  font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  letter-spacing: -0.015em;
}

.md-typeset h1 {
  font-size: 2.1rem;
  line-height: 1.143;
}

.md-typeset h2,
.md-typeset h3 {
  font-size: 1.5rem;
  line-height: 1.267;
}

.md-typeset h4 {
  font-size: 1.1rem;
  line-height: 1.273;
}

.md-typeset code,
.md-typeset pre,
.md-typeset .highlight {
  font-feature-settings: "calt" 1;
  font-variant-ligatures: contextual;
}

.md-typeset a,
.md-nav__link--active,
.md-nav__link:focus,
.md-nav__link:hover {
  color: var(--fight-kiln);
}

:where(a, button, input, select, summary, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--fight-focus);
  outline-offset: 3px;
}

.md-header,
.md-tabs,
.md-search__form,
.md-footer-meta,
.atlas-not-found__link {
  transition: background-color 120ms ease-out, border-color 120ms ease-out, color 120ms ease-out, box-shadow 180ms ease-out;
}

.md-header,
.md-tabs,
.md-footer-meta {
  background-color: var(--fight-surface);
  border-color: var(--fight-quiet-boundary);
  color: var(--fight-text);
}

.md-header {
  border-bottom: 1px solid var(--fight-strong-boundary);
  box-shadow: 0 1px 2px rgb(16 22 25 / 8%);
}

.md-header__button,
.md-code__button,
.md-clipboard,
.md-search__form > .md-search__icon,
.md-search__options > .md-search__icon {
  flex: 0 0 44px;
  inline-size: 44px;
  min-block-size: 44px;
  min-inline-size: 44px;
}

.md-code__button,
.md-clipboard {
  flex: 0 0 auto;
  inline-size: auto;
  min-block-size: 0;
  min-inline-size: 0;
}

.md-code__button::before,
.md-clipboard::before {
  block-size: 44px;
  content: "";
  inline-size: 44px;
  inset: 50% auto auto 50%;
  position: absolute;
  transform: translate(-50%, -50%);
}

.md-dialog {
  background-color: var(--fight-raised-surface);
  border: 1px solid var(--fight-strong-boundary);
}

.md-dialog__inner {
  color: var(--fight-text);
}

.md-header__button.md-logo .atlas-header__mark--dark {
  display: none;
}

[data-md-color-scheme="slate"] .md-header__button.md-logo .atlas-header__mark--light {
  display: none;
}

[data-md-color-scheme="slate"] .md-header__button.md-logo .atlas-header__mark--dark {
  display: block;
}

.md-nav__title .md-nav__button.md-logo .atlas-header__mark--dark {
  display: none;
}

[data-md-color-scheme="slate"] .md-nav__title .md-nav__button.md-logo .atlas-header__mark--light {
  display: none;
}

[data-md-color-scheme="slate"] .md-nav__title .md-nav__button.md-logo .atlas-header__mark--dark {
  display: block;
}

.md-tabs {
  border-bottom: 1px solid var(--fight-quiet-boundary);
}

.md-tabs__link {
  color: var(--fight-muted-text);
}

.md-tabs__link--active,
.md-tabs__link:hover {
  color: var(--fight-kiln);
}

.atlas-footer {
  background-color: var(--fight-footer-surface);
  border-top: 1px solid var(--fight-strong-boundary);
  color: var(--fight-footer-text);
}

.atlas-footer .md-footer-meta {
  background-color: transparent;
}

.atlas-footer__inner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  justify-content: space-between;
  min-height: 5.5rem;
  padding-block: 1rem;
}

.atlas-footer__identity,
.atlas-footer__links {
  align-items: center;
  display: flex;
  gap: 0.75rem;
}

.atlas-footer__mark {
  block-size: 1.75rem;
  inline-size: 1.75rem;
}

.atlas-footer__copyright {
  color: #AAB7BD;
  font-size: 0.8rem;
}

.atlas-footer__links {
  flex-wrap: wrap;
}

html .atlas-footer .md-footer-meta.md-typeset .atlas-footer__links a {
  color: var(--fight-footer-link);
  font-size: 0.875rem;
}

.atlas-footer a:focus-visible,
.atlas-footer button:focus-visible,
.atlas-footer input:focus-visible,
.atlas-footer select:focus-visible,
.atlas-footer summary:focus-visible,
.atlas-footer textarea:focus-visible,
.atlas-footer [tabindex]:focus-visible {
  outline-color: var(--fight-footer-focus);
}

html .atlas-footer .md-footer-meta.md-typeset .atlas-footer__links a:focus-visible,
html .atlas-footer .md-footer-meta.md-typeset .atlas-footer__links a.focus-visible {
  outline-color: var(--fight-footer-focus);
}

.atlas-not-found {
  align-items: flex-start;
  background-color: #101619;
  color: #EEF2F3;
  display: grid;
  gap: 1rem;
  margin-block: 4rem;
  max-inline-size: 42rem;
  padding: 2rem;
}

.atlas-not-found h1,
.atlas-not-found .atlas-not-found__eyebrow {
  color: inherit;
}

.atlas-not-found__mark {
  block-size: 4rem;
  inline-size: 4rem;
}

.atlas-not-found__eyebrow {
  color: var(--fight-muted-text);
  font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.atlas-not-found__link {
  background-color: var(--fight-kiln);
  border-color: var(--fight-kiln);
  color: var(--fight-surface);
}

.atlas-not-found__link:focus-visible,
.atlas-not-found__link:hover {
  background-color: var(--fight-kiln-strong);
  border-color: var(--fight-kiln-strong);
  color: var(--fight-surface);
}

.atlas-architecture-proof {
  align-items: stretch;
  border-block: 1px solid var(--fight-strong-boundary);
  display: flex;
  gap: 0.75rem;
  margin-block: 2rem;
  padding-block: 1rem;
}

.atlas-architecture-proof__layer {
  border-inline-start: 4px solid var(--fight-strong-boundary);
  display: grid;
  flex: 1 1 0;
  gap: 0.25rem;
  min-inline-size: 0;
  padding: 1rem;
}

.atlas-architecture-proof__layer--adapter {
  border-inline-start-color: var(--fight-kiln);
}

.atlas-architecture-proof__label {
  color: var(--fight-text);
  font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
}

.atlas-architecture-proof__direction {
  align-self: center;
  color: var(--fight-kiln);
  font-size: 1.5rem;
}

.atlas-entry-routes {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block: 2rem 3rem;
}

.atlas-entry-routes .md-button {
  align-items: center;
  border-color: var(--fight-strong-boundary);
  color: var(--fight-text);
  display: flex;
  justify-content: center;
  margin: 0;
  min-block-size: 3rem;
}

.atlas-entry-routes .md-button:focus-visible,
.atlas-entry-routes .md-button:hover {
  border-color: var(--fight-kiln);
  color: var(--fight-kiln);
}

.atlas-component-atlas {
  display: grid;
  gap: 0.75rem;
}

.atlas-component-atlas h3 {
  margin-block: 2rem 0;
}

.atlas-component-group {
  background-color: var(--fight-raised-surface);
  border: 1px solid var(--fight-quiet-boundary);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.atlas-component-group > a {
  align-items: center;
  color: var(--fight-text);
  display: flex;
  font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  min-block-size: 3rem;
  padding-inline: 1rem;
}

.atlas-component-group > a:focus-visible,
.atlas-component-group > a:hover {
  color: var(--fight-kiln);
}

.atlas-ownership-rail {
  align-items: center;
  border-inline-start: 3px solid var(--fight-strong-boundary);
  color: var(--fight-muted-text);
  display: flex;
  font-size: 0.75rem;
  padding-inline: 0.75rem;
  white-space: nowrap;
}

.atlas-article-shell {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3.25rem);
  grid-template-columns: 208px minmax(0, 736px) 176px;
  justify-content: center;
  margin: 0 auto 3rem;
  padding: 6px 16px 40px;
  width: min(100%, 1408px);
}

/* The Atlas rail and local contents are the article's desktop sidebars. */
@media screen and (min-width: 60em) {
  .md-main:has(.atlas-article-shell) .md-sidebar--secondary {
    display: none;
  }

  .md-main:has(.atlas-article-shell) .md-content > .md-content__inner {
    margin-inline: 0;
    padding: 0;
  }
}

@media screen and (min-width: 76.25em) {
  .md-main:has(.atlas-article-shell) .md-sidebar--primary {
    display: none;
  }
}

.atlas-component-rail,
.atlas-article-content,
.atlas-local-contents {
  min-inline-size: 0;
}

.atlas-component-rail {
  align-self: start;
  border-inline-end: 1px solid var(--fight-quiet-boundary);
  display: grid;
  gap: 0.125rem;
  padding-inline-end: 1rem;
  position: sticky;
  top: 5rem;
}

.atlas-component-rail a {
  align-items: center;
  border-inline-start: 3px solid transparent;
  color: var(--fight-muted-text);
  display: flex;
  font-size: 0.875rem;
  min-block-size: 2.75rem;
  padding-inline: 0.75rem;
}

.atlas-component-rail a:focus-visible,
.atlas-component-rail a:hover,
.atlas-component-rail__link--active {
  border-inline-start-color: var(--fight-kiln);
  color: var(--fight-kiln);
}

.atlas-breadcrumbs {
  align-items: center;
  color: var(--fight-muted-text);
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: 0.375rem;
  line-height: 1.5;
  margin-block: 0 1.5rem;
}

.atlas-article-content > .atlas-context-label {
  font-size: 11.2px;
  letter-spacing: 0.055em;
  margin-block-end: 0.35rem;
}

.atlas-article-content > h1 {
  font-size: 76px;
  line-height: 1.1;
  margin-block: 0 0.85rem;
  max-inline-size: none;
}

.atlas-article-lead {
  color: var(--fight-muted-text);
  font-size: 16px;
  line-height: 1.6;
  margin-block: 0;
  max-inline-size: 62ch;
}

.atlas-article-metadata {
  border-block: 1px solid var(--fight-quiet-boundary);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin-block: 1.75rem 2rem;
  padding-block: 0.75rem;
}

.atlas-article-metadata div {
  align-items: baseline;
  display: flex;
  gap: 4px;
  min-inline-size: 0;
}

.atlas-article-metadata dt,
.atlas-consequential-callout__label,
.atlas-next-steps > span,
.atlas-local-contents > p {
  color: var(--fight-muted-text);
  font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin: 0;
  text-transform: uppercase;
}

.atlas-article-metadata dt {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.atlas-article-metadata dd {
  color: var(--fight-text);
  font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  margin: 0;
  overflow-wrap: anywhere;
}

.atlas-article-content .highlight {
  max-inline-size: 100%;
  overflow-x: auto;
}

/* Give Atlas examples a Fight-specific palette without changing prose chrome. */
.atlas-article-content .highlight .k,
.atlas-article-content .highlight .kc,
.atlas-article-content .highlight .kd,
.atlas-article-content .highlight .kn,
.atlas-article-content .highlight .kp,
.atlas-article-content .highlight .kr,
.atlas-article-content .highlight .kt,
.atlas-article-content .highlight .o,
.atlas-article-content .highlight .ow {
  color: var(--fight-code-keyword);
}

.atlas-article-content .highlight .s,
.atlas-article-content .highlight .sa,
.atlas-article-content .highlight .sb,
.atlas-article-content .highlight .sc,
.atlas-article-content .highlight .dl,
.atlas-article-content .highlight .sd,
.atlas-article-content .highlight .s1,
.atlas-article-content .highlight .s2,
.atlas-article-content .highlight .se,
.atlas-article-content .highlight .sh,
.atlas-article-content .highlight .si,
.atlas-article-content .highlight .sr,
.atlas-article-content .highlight .ss,
.atlas-article-content .highlight .sx {
  color: var(--fight-code-string);
}

.atlas-article-content .highlight .nc,
.atlas-article-content .highlight .nd,
.atlas-article-content .highlight .ne,
.atlas-article-content .highlight .nn,
.atlas-article-content .highlight .nt,
.atlas-article-content .highlight .nx {
  color: var(--fight-code-type);
}

.atlas-article-content .highlight .n,
.atlas-article-content .highlight .na,
.atlas-article-content .highlight .nb,
.atlas-article-content .highlight .bp,
.atlas-article-content .highlight .fm,
.atlas-article-content .highlight .nf,
.atlas-article-content .highlight .nv,
.atlas-article-content .highlight .vc,
.atlas-article-content .highlight .vg,
.atlas-article-content .highlight .vi,
.atlas-article-content .highlight .vm {
  color: var(--fight-code-symbol);
}

.atlas-article-content .highlight .m,
.atlas-article-content .highlight .mb,
.atlas-article-content .highlight .mf,
.atlas-article-content .highlight .mh,
.atlas-article-content .highlight .mi,
.atlas-article-content .highlight .il,
.atlas-article-content .highlight .mo,
.atlas-article-content .highlight .no {
  color: var(--fight-code-number);
}

.atlas-article-content .highlight .c,
.atlas-article-content .highlight .c1,
.atlas-article-content .highlight .ch,
.atlas-article-content .highlight .cm,
.atlas-article-content .highlight .cp,
.atlas-article-content .highlight .cpf,
.atlas-article-content .highlight .cs {
  color: var(--fight-code-comment);
}

.atlas-format-tabs {
  border-block: 1px solid var(--fight-strong-boundary);
  margin-block: 2rem;
  padding-block: 1rem;
}

.atlas-format-tabs__tabs {
  border-block-end: 1px solid var(--fight-quiet-boundary);
  display: flex;
  gap: 0.25rem;
  overflow-x: auto;
}

.atlas-format-tabs [role="tab"] {
  background: transparent;
  border: 0;
  border-block-end: 3px solid transparent;
  color: var(--fight-muted-text);
  cursor: pointer;
  flex: 0 0 auto;
  font: 600 0.875rem/1.25 "Open Sans", "Helvetica Neue", Arial, sans-serif;
  min-block-size: 2.75rem;
  padding-inline: 1rem;
}

.atlas-format-tabs [role="tab"][aria-selected="true"],
.atlas-format-tabs [role="tab"]:hover {
  border-block-end-color: var(--fight-kiln);
  color: var(--fight-kiln);
}

.atlas-format-tabs__panel {
  margin-block-start: 1rem;
}

.atlas-format-tabs__panel-head {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  margin-block-end: 0.5rem;
}

.atlas-format-tabs__panel-head > span {
  color: var(--fight-muted-text);
  font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.atlas-format-tabs__panel-head code {
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

.atlas-format-tabs__copy {
  background-color: var(--fight-raised-surface);
  border: 1px solid var(--fight-strong-boundary);
  border-radius: 2px;
  color: var(--fight-text);
  cursor: pointer;
  flex: 0 0 44px;
  font: 600 0.75rem/1 "Open Sans", "Helvetica Neue", Arial, sans-serif;
  inline-size: 44px;
  margin-inline-start: auto;
  min-block-size: 44px;
  padding: 0.25rem;
}

.atlas-format-tabs__copy:focus-visible,
.atlas-format-tabs__copy:hover {
  border-color: var(--fight-kiln);
  color: var(--fight-kiln);
}

.atlas-relationship-diagram {
  border-block: 1px solid var(--fight-strong-boundary);
  margin: 2rem 0;
  padding-block: 1rem;
}

.atlas-relationship-diagram__flow {
  align-items: stretch;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.atlas-relationship-diagram__node {
  border-inline-start: 4px solid var(--fight-strong-boundary);
  display: grid;
  gap: 0.25rem;
  min-inline-size: 0;
  padding: 1rem;
}

.atlas-relationship-diagram__node:first-child {
  border-inline-start-color: var(--fight-kiln);
}

.atlas-relationship-diagram__node span,
.atlas-relationship-diagram figcaption {
  color: var(--fight-muted-text);
  font-size: 0.8125rem;
}

.atlas-relationship-diagram__node strong {
  color: var(--fight-text);
  font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif;
}

.atlas-relationship-diagram__direction {
  align-self: center;
  color: var(--fight-kiln);
  font-size: 1.5rem;
}

.atlas-relationship-diagram figcaption {
  margin-block-start: 0.75rem;
}

.atlas-consequential-callout {
  border-inline-start: 4px solid var(--fight-kiln);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: auto minmax(0, 1fr);
  margin-block: 2rem;
  padding: 1rem;
}

.atlas-consequential-callout__icon {
  align-items: center;
  background-color: var(--fight-kiln);
  color: var(--fight-surface);
  display: flex;
  font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  justify-content: center;
  min-block-size: 1.5rem;
  min-inline-size: 1.5rem;
}

.atlas-consequential-callout p:last-child {
  margin-block: 0.25rem 0;
}

.atlas-next-steps {
  border-block: 1px solid var(--fight-strong-boundary);
  display: grid;
  gap: 0.5rem;
  margin-block-start: 3rem;
  padding-block: 1rem;
}

.atlas-next-steps a {
  font-weight: 600;
}

.atlas-local-contents {
  align-self: start;
  border-inline-start: 1px solid var(--fight-quiet-boundary);
  padding-inline-start: 1rem;
  position: sticky;
  top: 5rem;
}

.atlas-local-contents ul {
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
}

.atlas-local-contents a {
  color: var(--fight-muted-text);
  display: block;
  font-size: 0.8125rem;
  padding-block: 0.375rem;
}

.atlas-local-contents a:focus-visible,
.atlas-local-contents a:hover {
  color: var(--fight-kiln);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Atlas Deck layout authority. The templates own composition; Material owns behavior. */
.md-grid {
  max-width: 1408px;
}

.md-main:has([data-atlas-layout="home"]) .md-main__inner,
.md-main:has([data-atlas-layout="guide"]) .md-main__inner {
  margin-inline: auto;
  max-width: none;
}

.md-main:has([data-atlas-layout="home"]) .md-sidebar--secondary,
.md-main:has([data-atlas-layout="guide"]) .md-sidebar--secondary {
  display: none;
}

@media screen and (min-width: 76.25em) {
  .md-main:has([data-atlas-layout="home"]) .md-sidebar--primary,
  .md-main:has([data-atlas-layout="guide"]) .md-sidebar--primary {
    display: none;
  }
}

.md-main:has([data-atlas-layout="home"]) .md-content,
.md-main:has([data-atlas-layout="guide"]) .md-content {
  max-width: none;
}

.md-main:has([data-atlas-layout="home"]) .md-content__inner,
.md-main:has([data-atlas-layout="guide"]) .md-content__inner {
  margin: 0;
  padding: 0;
}

.md-main:has([data-atlas-layout="home"]) .md-content__inner::before,
.md-main:has([data-atlas-layout="guide"]) .md-content__inner::before {
  display: none;
}

.atlas-home {
  font-size: 16px;
  margin-inline: auto;
  padding: clamp(44px, 3.75vw, 65px) 0 80px;
  width: min(100%, 1408px);
}

.atlas-home__hero {
  align-items: center;
  display: grid;
  gap: clamp(2em, 7vw, 6em);
  grid-template-columns: minmax(0, 1.15fr) minmax(19em, 0.6fr);
  align-items: end;
}

.atlas-home .atlas-context-label {
  font-size: 11.2px;
  letter-spacing: 0.055em;
  margin-bottom: 16px;
}

.atlas-context-label {
  color: var(--fight-kiln);
  font: 500 0.7rem/1.4 var(--md-code-font);
  letter-spacing: 0.08em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.md-typeset .atlas-home__promise h1 {
  color: var(--fight-text);
  font-size: clamp(3.15em, 7vw, 6.3em);
  letter-spacing: -0.035em;
  line-height: 1.1;
  margin: 0;
  max-width: 13ch;
}

.atlas-home__lead {
  color: var(--fight-muted-text);
  font-size: clamp(1.05em, 2vw, 1.25em);
  line-height: 1.5;
  margin: 20px 0 0;
  max-width: 39em;
}

.atlas-install {
  border: 1px solid var(--fight-strong-boundary);
  border-left: 4px solid var(--fight-kiln);
  box-shadow: 0 0.4rem 1rem rgb(16 22 25 / 8%);
  margin-top: 2em;
  max-width: 33em;
}

.atlas-install .highlight,
.atlas-install .highlight pre {
  margin: 0;
}

.atlas-install .highlight {
  background: var(--fight-surface);
}

.atlas-install .highlight pre {
  background: transparent;
  font-size: 12.48px;
  line-height: 1.5;
  padding-block: 8.6px;
}

.atlas-home__architecture {
  background-color: var(--fight-surface);
  background-image:
    linear-gradient(var(--fight-quiet-boundary) 1px, transparent 1px),
    linear-gradient(90deg, var(--fight-quiet-boundary) 1px, transparent 1px);
  background-size: 2rem 2rem;
  border: 1px solid var(--fight-strong-boundary);
  box-shadow: 0 0.9rem 2.5rem rgb(16 22 25 / 10%);
  color: var(--fight-text);
  display: block;
  padding: 1.5em;
  text-decoration: none;
}

.atlas-home__architecture {
  background-size: 16px 16px;
}

.atlas-home__architecture:focus-visible,
.atlas-home__architecture:hover {
  border-color: var(--fight-kiln);
  color: var(--fight-text);
}

.atlas-home__architecture > strong {
  display: block;
  font: 600 16.8px/1.4 var(--md-code-font);
}

.atlas-home__architecture > span:not(.atlas-home__layer-flow) {
  color: var(--fight-muted-text);
  display: block;
  font-size: 14.4px;
  margin-top: 8px;
}

.atlas-home__layer-flow {
  align-items: stretch;
  display: flex;
  gap: 7.2px;
  margin-top: 21.6px;
}

.atlas-home__layer-flow b {
  background: var(--fight-raised-surface);
  border-top: 4px solid var(--fight-strong-boundary);
  flex: 1 1 0;
  font: 600 12px/1.3 var(--md-text-font);
  min-width: 0;
  padding: 10.4px 4.8px;
  text-align: center;
}

.atlas-home__layer-flow b:last-child {
  border-color: var(--fight-kiln);
}

.atlas-home__layer-flow i {
  align-self: center;
  color: var(--fight-kiln);
  flex: 0 0 auto;
  font: 600 12.8px/1 var(--md-code-font);
  font-style: normal;
}

.atlas-entry-routes {
  background: var(--fight-surface);
  border: 1px solid var(--fight-strong-boundary);
  box-shadow: 0 0.4rem 1rem rgb(16 22 25 / 8%);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block: clamp(3em, 6vw, 5em);
}

.atlas-route-card {
  border-right: 1px solid var(--fight-quiet-boundary);
  border-top: 3px solid transparent;
  color: var(--fight-text);
  display: block;
  min-height: 8.25em;
  padding: 1.35em;
  text-decoration: none;
}

.atlas-route-card:last-child {
  border-right: 0;
}

.atlas-route-card:focus-visible,
.atlas-route-card:hover {
  background: var(--fight-raised-surface);
  border-top-color: var(--fight-kiln);
  color: var(--fight-text);
}

.atlas-route-card strong {
  display: block;
  font: 600 20.8px/1.2 "Open Sans", sans-serif;
}

.atlas-route-card span {
  color: var(--fight-muted-text);
  display: block;
  font-size: 14.4px;
  line-height: 1.45;
  margin-top: 10.4px;
}

.atlas-catalog__heading {
  align-items: end;
  display: grid;
  gap: 3em;
  grid-template-columns: minmax(0, 1fr) minmax(18em, 0.7fr);
  margin-bottom: 1.5em;
}

.md-typeset .atlas-catalog__heading h2 {
  font-size: clamp(2em, 4vw, 3em);
  letter-spacing: -0.03em;
  line-height: 1.02;
  margin: 0;
  max-width: 17ch;
}

.atlas-catalog__heading > p {
  color: var(--fight-muted-text);
  margin: 0;
}

.atlas-grid {
  display: grid;
  gap: 0.875em;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.atlas-card {
  background: var(--fight-surface);
  border: 1px solid var(--fight-quiet-boundary);
  border-left: 4px solid var(--fight-strong-boundary);
  box-shadow: 0 0.4rem 1rem rgb(16 22 25 / 7%);
}

.atlas-card--active {
  border-left-color: var(--fight-kiln);
}

.atlas-card:last-child {
  grid-column: 1 / -1;
}

.atlas-card > header {
  padding: 18.4px 18.4px 14.4px;
}

.atlas-card > header > span {
  color: var(--fight-muted-text);
  font: 500 10.88px/1.3 var(--md-code-font);
}

.md-typeset .atlas-card h3 {
  font-size: 23.2px;
  margin: 4.8px 0 0;
}

.atlas-card__links {
  border-top: 1px solid var(--fight-quiet-boundary);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.atlas-card__links > a {
  border-bottom: 1px solid var(--fight-quiet-boundary);
  border-right: 1px solid var(--fight-quiet-boundary);
  color: var(--fight-text);
  display: grid;
  font-size: 14.4px;
  gap: 3.2px;
  min-width: 0;
  padding: 10.88px 14.4px;
  text-decoration: none;
}

.atlas-card__links > a:focus-visible,
.atlas-card__links > a:hover {
  background: var(--fight-raised-surface);
  color: var(--fight-kiln-strong);
}

.atlas-card__links .atlas-ownership-rail {
  border: 0;
  color: var(--fight-muted-text);
  display: block;
  font: 400 10.4px/1.35 var(--md-code-font);
  padding: 0;
  white-space: normal;
}

.atlas-guide-shell {
  display: grid;
  gap: clamp(2rem, 3vw, 3rem);
  grid-template-columns: 200px minmax(0, 736px) 208px;
  justify-content: center;
  margin-inline: auto;
  padding: 3rem 1rem 5rem;
  width: min(100%, 1408px);
}

.atlas-guide-rail {
  align-self: start;
  display: grid;
  position: sticky;
  top: 6.5rem;
}

.atlas-guide-rail > p {
  color: var(--fight-muted-text);
  font: 600 0.72rem/1.4 "Open Sans", sans-serif;
  margin: 0 0 0.65rem;
}

.atlas-guide-rail a {
  border-left: 2px solid var(--fight-quiet-boundary);
  color: var(--fight-muted-text);
  font-size: 0.85rem;
  line-height: 1.45;
  padding: 0.55rem 0.75rem;
}

.atlas-guide-rail a:focus-visible,
.atlas-guide-rail a:hover,
.atlas-guide-rail .atlas-guide-rail__link--active {
  background: var(--fight-raised-surface);
  border-left-color: var(--fight-kiln);
  color: var(--fight-text);
}

.atlas-guide-content {
  min-width: 0;
}

.atlas-guide-content > h1,
.atlas-guide-content .md-typeset > h1 {
  font-size: clamp(48px, 6vw, 76px);
}

.atlas-guide-content .highlight {
  max-width: 100%;
  overflow-x: auto;
}

.atlas-guide-content > p:first-of-type {
  color: var(--fight-muted-text);
  font-size: 1.2rem;
  line-height: 1.5;
}

.atlas-architecture-map,
.atlas-cqrs {
  border-block: 1px solid var(--fight-strong-boundary);
  margin-block: 2rem 2.5rem;
  padding-block: 1rem;
}

.atlas-architecture-map__flow {
  align-items: stretch;
  background-color: var(--fight-surface);
  background-image:
    linear-gradient(var(--fight-quiet-boundary) 1px, transparent 1px),
    linear-gradient(90deg, var(--fight-quiet-boundary) 1px, transparent 1px);
  background-size: 1rem 1rem;
  border: 1px solid var(--fight-strong-boundary);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3.25rem minmax(0, 1fr) 3.25rem minmax(0, 1fr);
  padding: 1rem;
}

.atlas-architecture-map__layer {
  background: var(--fight-raised-surface);
  border-block-start: 4px solid var(--fight-strong-boundary);
  display: grid;
  gap: 0.4rem;
  min-inline-size: 0;
  padding: 1rem;
}

.atlas-architecture-map__layer--adapter {
  border-block-start-style: double;
  border-block-start-width: 7px;
}

.atlas-architecture-map__layer--domain {
  border-block-start-color: var(--fight-kiln);
}

.atlas-architecture-map__layer strong,
.atlas-ownership-ledger strong,
.atlas-cqrs__lane header strong {
  color: var(--fight-text);
  font: 600 1.05rem/1.3 "Open Sans", sans-serif;
}

.atlas-architecture-map__layer p,
.atlas-ownership-ledger p {
  font-size: 0.8rem;
  line-height: 1.45;
  margin: 0;
}

.atlas-architecture-map__path,
.atlas-architecture-map__layer small,
.atlas-cqrs__node small {
  color: var(--fight-muted-text);
  font: 500 0.68rem/1.4 var(--md-code-font);
  overflow-wrap: anywhere;
}

.atlas-architecture-map__edge {
  align-content: center;
  color: var(--fight-muted-text);
  display: grid;
  justify-items: center;
  min-inline-size: 0;
}

.atlas-architecture-map__edge b {
  font: 500 0.6rem/1.2 var(--md-code-font);
  text-align: center;
}

.atlas-architecture-map__edge i {
  color: var(--fight-kiln);
  font: 600 1.35rem/1 var(--md-code-font);
  font-style: normal;
}

.atlas-architecture-map figcaption,
.atlas-cqrs figcaption {
  color: var(--fight-muted-text);
  font-size: 0.76rem;
  margin-block-start: 0.8rem;
}

.atlas-diagram-key {
  color: var(--fight-text);
  font: 500 0.7rem/1.4 var(--md-code-font);
  white-space: nowrap;
}

.atlas-diagram-key::before {
  border-block-start: 2px solid currentcolor;
  content: "";
  display: inline-block;
  inline-size: 1.4rem;
  margin-inline-end: 0.35rem;
  vertical-align: 0.2rem;
}

.atlas-diagram-key--dashed::before {
  border-block-start-style: dashed;
}

.atlas-ownership-ledger {
  align-items: stretch;
  border: 1px solid var(--fight-strong-boundary);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 6.5rem minmax(0, 1fr);
  margin-block: 1.5rem 2rem;
}

.atlas-ownership-ledger section {
  background: var(--fight-raised-surface);
  display: grid;
  gap: 0.5rem;
  min-inline-size: 0;
  padding: 1rem;
}

.atlas-ownership-ledger__edge {
  align-content: center;
  border-inline: 1px dashed var(--fight-strong-boundary);
  color: var(--fight-muted-text);
  display: grid;
  font: 500 0.68rem/1.35 var(--md-code-font);
  padding: 0.75rem;
  text-align: center;
}

.atlas-cqrs {
  display: grid;
  gap: 0.75rem;
}

.atlas-cqrs__lane {
  border: 1px solid var(--fight-strong-boundary);
  border-inline-start: 5px solid var(--fight-strong-boundary);
  min-inline-size: 0;
}

.atlas-cqrs__lane--query {
  border-inline-start-style: dashed;
}

.atlas-cqrs__lane--event {
  border-inline-start-color: var(--fight-kiln);
  border-inline-start-style: double;
  border-inline-start-width: 8px;
}

.atlas-cqrs__lane header {
  align-items: baseline;
  background: var(--fight-raised-surface);
  border-block-end: 1px solid var(--fight-quiet-boundary);
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  padding: 0.65rem 0.8rem;
}

.atlas-cqrs__lane header span {
  color: var(--fight-muted-text);
  font-size: 0.75rem;
}

.atlas-cqrs__flow {
  align-items: stretch;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-inline-size: 0;
}

.atlas-cqrs__node {
  align-content: start;
  display: grid;
  gap: 0.35rem;
  min-inline-size: 0;
  padding: 0.9rem 0.8rem;
}

.atlas-cqrs__node + .atlas-cqrs__node {
  border-inline-start: 1px solid var(--fight-quiet-boundary);
}

.atlas-cqrs__node b {
  color: var(--fight-muted-text);
  font-size: 0.68rem;
  font-weight: 400;
}

.atlas-cqrs__node code {
  font-size: 0.62rem;
  overflow-wrap: anywhere;
  white-space: normal;
}

.atlas-cqrs__edge {
  align-items: center;
  color: var(--fight-muted-text);
  display: flex;
  font: 500 0.62rem/1.3 var(--md-code-font);
  gap: 0.25rem;
  justify-content: end;
  margin-block-start: 0.3rem;
}

.atlas-cqrs__edge i {
  font-style: normal;
}

.atlas-cqrs__edge--return {
  flex-wrap: wrap;
}

.atlas-cqrs__edge--return b {
  border-block-start: 1px dashed currentcolor;
  font: inherit;
  padding-block-start: 0.2rem;
}

.atlas-cqrs__edge--fanout {
  color: var(--fight-kiln);
  font-weight: 600;
}

.atlas-framework-picker {
  display: grid;
  gap: 0.6rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block: 1.5rem 2rem;
}

.atlas-framework-picker > a {
  background: var(--fight-surface);
  border: 1px solid var(--fight-quiet-boundary);
  border-left: 3px solid var(--fight-strong-boundary);
  color: var(--fight-text);
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  padding: 1rem;
  text-decoration: none;
}

.atlas-framework-picker > a:focus-visible,
.atlas-framework-picker > a:hover {
  background: var(--fight-raised-surface);
  border-left-color: var(--fight-kiln);
  color: var(--fight-text);
}

.atlas-framework-picker strong {
  font: 600 1.05rem/1.3 "Open Sans", sans-serif;
}

.atlas-framework-picker code {
  color: var(--fight-muted-text);
  display: block;
  font-size: 0.66rem;
  overflow-x: auto;
  padding: 0;
  white-space: nowrap;
}

.atlas-code-filename {
  color: var(--fight-muted-text);
  display: block;
  font: 500 0.72rem/1.4 var(--md-code-font);
  margin: 1.5rem 0 0.45rem;
}

.atlas-code-filename + .highlight {
  margin-top: 0;
}

.atlas-local-contents {
  align-self: start;
  position: sticky;
  top: 6.5rem;
}

.atlas-local-contents ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.atlas-local-contents a {
  color: var(--fight-muted-text);
  display: block;
  font-size: 0.82rem;
  line-height: 1.45;
  padding: 0.4rem 0;
}

.atlas-local-contents a:focus-visible,
.atlas-local-contents a:hover {
  color: var(--fight-kiln);
}

/* Keep Material search, but give it the Atlas Deck's focused work-surface treatment. */
@media screen and (min-width: 60em) {
  .md-search__inner {
    width: 18rem;
  }

  [data-md-toggle="search"]:checked ~ .md-header .md-search__inner {
    width: min(43rem, calc(100vw - 2rem));
  }

  .md-search__output {
    border: 1px solid var(--fight-strong-boundary);
    box-shadow: 0 1.25rem 4rem rgb(10 15 18 / 30%);
  }
}

@media screen and (max-width: 68rem) {
  .atlas-guide-shell {
    grid-template-columns: 184px minmax(0, 736px);
  }

  .atlas-guide-shell > .atlas-local-contents {
    display: none;
  }
}

@media screen and (max-width: 56rem) {
  .atlas-cqrs__flow {
    grid-template-columns: minmax(0, 1fr);
  }

  .atlas-cqrs__node + .atlas-cqrs__node {
    border-block: 1px dashed var(--fight-strong-boundary);
    border-inline: 0;
  }

  .atlas-cqrs__edge {
    justify-content: center;
    min-block-size: 1.5rem;
  }

  .atlas-cqrs__edge i {
    display: inline-block;
    transform: rotate(90deg);
  }
}

@media screen and (max-width: 48rem) {
  .atlas-home {
    padding-inline: 1rem;
  }

  .atlas-home__hero,
  .atlas-catalog__heading,
  .atlas-guide-shell {
    grid-template-columns: 1fr;
  }

  .atlas-entry-routes {
    grid-template-columns: 1fr;
  }

  .atlas-route-card {
    border-bottom: 1px solid var(--fight-quiet-boundary);
    border-right: 0;
    min-height: 0;
  }

  .atlas-grid {
    grid-template-columns: 1fr;
  }

  .atlas-card:last-child {
    grid-column: auto;
  }

  .atlas-guide-shell {
    gap: 1.5rem;
    padding-top: 1.5rem;
  }

  .atlas-guide-rail {
    border-bottom: 1px solid var(--fight-quiet-boundary);
    display: flex;
    overflow-x: auto;
    position: static;
  }

  .atlas-guide-rail > p {
    display: none;
  }

  .atlas-guide-rail a {
    border-bottom: 3px solid transparent;
    border-left: 0;
    flex: none;
  }

  .atlas-guide-rail .atlas-guide-rail__link--active {
    border-bottom-color: var(--fight-kiln);
  }

  .atlas-architecture-map__flow,
  .atlas-ownership-ledger {
    grid-template-columns: minmax(0, 1fr);
  }

  .atlas-architecture-map__edge {
    min-block-size: 3rem;
  }

  .atlas-architecture-map__edge i {
    transform: rotate(90deg);
  }

  .atlas-ownership-ledger__edge {
    border-block: 1px dashed var(--fight-strong-boundary);
    border-inline: 0;
  }
}

@media screen and (max-width: 30rem) {
  .md-typeset .atlas-home__promise h1 {
    font-size: clamp(2.7rem, 13vw, 3.5rem);
  }

  .atlas-home__layer-flow {
    flex-direction: column;
  }

  .atlas-home__layer-flow i {
    margin-inline: auto;
    transform: rotate(90deg);
    width: max-content;
  }

  .atlas-card__links {
    grid-template-columns: 1fr;
  }

  .atlas-framework-picker {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 44.9375em) {
  .md-typeset .atlas-home__promise h1 {
    font-size: 47px;
  }

  .atlas-footer__inner {
    align-items: flex-start;
    flex-direction: column;
    padding-inline: 1rem;
  }

  .atlas-entry-routes {
    grid-template-columns: 1fr;
  }

  .atlas-component-group {
    grid-template-columns: 1fr;
  }

  .atlas-ownership-rail {
    border-inline-start: 0;
    border-block-start: 1px solid var(--fight-quiet-boundary);
    min-block-size: 2.25rem;
  }
}

@media screen and (max-width: 76.1875em) {
  .atlas-article-shell {
    display: block;
    padding-top: 1.5rem;
  }

  .atlas-component-rail {
    border-block: 1px solid var(--fight-quiet-boundary);
    border-inline: 0;
    display: flex;
    gap: 0;
    margin-block-end: 2rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 0;
    position: static;
    scrollbar-color: var(--fight-strong-boundary) transparent;
  }

  .atlas-component-rail a {
    border-block-end: 3px solid transparent;
    border-inline-start: 0;
    flex: 0 0 auto;
    min-block-size: 2.75rem;
  }

  .atlas-component-rail a:focus-visible,
  .atlas-component-rail a:hover,
  .atlas-component-rail__link--active {
    border-block-end-color: var(--fight-kiln);
    border-inline-start-color: transparent;
  }

  .atlas-local-contents {
    display: none;
  }
}

@media screen and (max-width: 29.9375em) {
  .atlas-article-content > h1 {
    font-size: clamp(2.1rem, 10vw, 2.4rem);
  }

  .atlas-architecture-proof {
    align-items: stretch;
    flex-direction: column;
  }

  .atlas-architecture-proof__direction {
    align-self: center;
    transform: rotate(90deg);
  }

  .atlas-article-metadata {
    align-items: flex-start;
    flex-direction: column;
  }

  .atlas-relationship-diagram__flow {
    grid-template-columns: 1fr;
  }

  .atlas-relationship-diagram__direction {
    justify-self: center;
    transform: rotate(90deg);
  }
}
