/*!**********************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/styles.css?ngGlobalStyle ***!
  \**********************************************************************************************************************************************************************************************************************/
/* Global styles for the portal frontend */

/* Visually hidden, but available to screen readers and search crawlers. */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Form controls default to the browser font (Arial) — inherit the page typeface. */
button,
input,
select,
textarea {
  font-family: inherit;
}

/* Headings default to the brand weight (prod home = 600), not the
   browser-default bold (700) that headings without an explicit weight get. */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
}

:root {
  color-scheme: dark;
  /* Type system — single source of truth. Fonts match production exactly. */
  --font-sans: 'Avenir Next', 'Avenir', 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-mono:
    ui-monospace, 'JetBrains Mono', SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace;
  font-family: var(--font-sans);
  --app-header-bg: rgba(18, 19, 23, 0.62);

  /* ── Site width token ────────────────────────────────────────────────── */
  --site-max-width: 1120px;

  /* ── Color tokens — "deep space" dark (palette adapted from tenwa.ai) ──── */

  /* Page background */
  --bg-page:
    radial-gradient(circle at 25% 0%, rgba(49, 134, 255, 0.1), transparent 55%),
    radial-gradient(circle at 92% 8%, rgba(124, 110, 255, 0.06), transparent 50%), #121317;

  /* Surface/card backgrounds */
  --bg-surface: #18191d;
  --bg-surface-alt: #212226;
  --bg-surface-subtle: #141519;
  --bg-code: #1c1d23;

  /* Text */
  --text-strong: #ffffff;
  --text-body: #c7ccd4;
  --text-article: #c2c7cf;
  --text-secondary: #9aa0a6;
  --text-muted: #6b7177;
  --text-label: #5f6368;
  --text-placeholder: #5f6368;

  /* Borders */
  --border: rgba(255, 255, 255, 0.07);
  --border-subtle: rgba(255, 255, 255, 0.04);
  --border-strong: rgba(255, 255, 255, 0.12);

  /* Accent — electric blue (primary) + soft indigo (rare pop) */
  --accent: #3186ff;
  --accent-hover: #3279f9;
  --accent-surface: rgba(49, 134, 255, 0.12);
  --accent-border: rgba(49, 134, 255, 0.3);
  --accent-text: #6aa6ff;
  --accent-pop: #6aa6ff;

  /* Article prose */
  --blockquote-border: rgba(255, 255, 255, 0.18);
  --blockquote-text: #9aa0a6;
  --table-header-bg: #212226;
  --table-alt-bg: #1c1d23;
  --table-border: rgba(255, 255, 255, 0.1);

  /* TOC */
  --toc-link: #9aa0a6;
  --toc-link-hover: #ffffff;

  /* Sidebar cards */
  --sidebar-bg: #1c1d23;
  --sidebar-border: rgba(255, 255, 255, 0.07);
  --sidebar-hover-border: rgba(49, 134, 255, 0.5);
  --sidebar-hover-shadow: rgba(49, 134, 255, 0.12);
  --sidebar-title: #ffffff;

  /* Share bar copy button */
  --share-copy-bg: #2f3034;
  --share-copy-color: #c7ccd4;
  --share-copy-hover: #3a3b40;

  /* ── Design system tokens ──────────────────────────────────────────────── */
  /* Single source of truth for spacing, radii, shadows. Every panel/card on
     the marketing site MUST use these. No new ad-hoc values. */

  /* Spacing scale (8px base) */
  --space-xs: 0.5rem; /* 8px  — tight gaps between chip-level items */
  --space-sm: 0.75rem; /* 12px — gap inside small components */
  --space-md: 1rem; /* 16px — default gap between cards in a grid */
  --space-lg: 1.5rem; /* 24px — card internal padding */
  --space-xl: 2rem; /* 32px — header → grid gap */
  --space-2xl: 3rem; /* 48px — section internal padding */
  --space-3xl: 4rem; /* 64px — hero internal vertical padding */

  /* Radius scale */
  --radius-sm: 0.5rem; /* chips, badges */
  --radius-md: 1rem; /* cards */
  --radius-lg: 1.5rem; /* section panels */
  --radius-pill: 999px; /* buttons, tags */

  /* Shadows */
  --shadow-card: 0 4px 16px rgba(0, 0, 0, 0.3);
  --shadow-section: 0 14px 44px rgba(0, 0, 0, 0.45);
  --shadow-cta: 0 12px 30px rgba(49, 134, 255, 0.28);

  /* Typography scale (clamps for responsive) */
  --fs-hero: clamp(2.3rem, 3.6vw, 3.75rem); /* matches production hero curve */
  --fs-h2: clamp(1.5rem, 2.4vw, 2rem);
  --fs-h3: clamp(1.1rem, 1.5vw, 1.25rem);
  --fs-body: 1rem;
  --fs-small: 0.92rem;
  --fs-eyebrow: 0.72rem; /* uppercase labels */
}

/* Production hero curve drops on small screens (matches prod's ≤720px rule). */
@media (max-width: 720px) {
  :root {
    --fs-hero: clamp(1.8rem, 6vw, 2.3rem);
  }
}

/* The site is dark-by-default ("deep space"); no prefers-color-scheme override. */

html {
  overflow-x: clip;
  scroll-padding-top: 80px;
}

body {
  margin: 0;
  min-height: 100vh;
  overflow-x: clip;
  font-family: var(--font-sans);
  background: var(--bg-page);
  background-attachment: fixed;
  color: var(--text-body);
}

* {
  box-sizing: border-box;
}

h1,
h2,
h3 {
  font-family: var(--font-sans);
  font-weight: 600;
  color: var(--text-strong);
}

/* .reveal — kept as a no-op class so existing markup still parses,
 * but no animation. Content renders immediately. */
.reveal,
.reveal-visible {
  opacity: 1;
  transform: none;
}

/* ── Reusable layout primitives ─────────────────────────────────────────── */
/* Every panel on the marketing site uses these. Don't override per-component
 * unless you have a documented reason. */

.panel {
  background: var(--bg-surface);
  border-radius: var(--radius-lg);
  padding: var(--space-2xl);
  margin: 0 auto var(--space-md);
  max-width: var(--site-max-width);
  box-shadow: var(--shadow-section);
  position: relative;
  overflow: hidden;
}

.panel-header {
  text-align: center;
  margin-bottom: var(--space-xl);
}

.panel-header h2,
.panel-header h3 {
  margin: 0 0 var(--space-xs);
  font-size: var(--fs-h2);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--text-body);
}

.panel-header p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--fs-body);
}

.card {
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  box-shadow: var(--shadow-card);
}

/* Card TITLE — only a direct-child <h3>/<strong> is the heading. A nested
   <strong> inside a paragraph or list is inline emphasis, NOT a title, and
   must keep the body font size (see the rule below). */
.card > h3,
.card > strong {
  display: block;
  margin: 0 0 var(--space-sm);
  font-size: var(--fs-h3);
  font-weight: 600;
  color: var(--text-body);
  line-height: 1.3;
  /* Reserve space for 2 lines so 1-line and 2-line titles align across a grid */
  min-height: calc(var(--fs-h3) * 1.3 * 2);
  /* Balance wrap so 2-line titles split evenly instead of one-long-one-short */
  text-wrap: balance;
}

.card p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--fs-small);
  line-height: 1.55;
}

/* Inline emphasis inside card body copy — same size as the text around it. */
.card p strong,
.card li strong {
  font-weight: 600;
  color: var(--text-body);
}

/* 3-column responsive grid for card panels */
.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}

@media (max-width: 900px) {
  .grid-3 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .grid-3 {
    grid-template-columns: 1fr;
  }
}

.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
}
@media (max-width: 640px) {
  .grid-2 {
    grid-template-columns: 1fr;
  }
}

/* Inline link at the foot of a card */
.card-link {
  display: inline-block;
  margin-top: var(--space-sm);
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}
.card-link:hover {
  text-decoration: underline;
}

/* Tap targets: inline links get taller hit areas on touch screens
   (Playwright audit flagged sub-24px links on mobile). */
@media (max-width: 720px) {
  .card-link,
  .panel-footnote a,
  .docs-card__link,
  .docs-hero__github {
    display: inline-block;
    padding: 0.35rem 0.15rem;
  }
}

/* Eyebrow label (small caps) */
.eyebrow {
  font-size: var(--fs-eyebrow);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-weight: 600;
  color: var(--text-secondary);
}

/* Small disclaimer text below a card grid */
.panel-footnote {
  margin: var(--space-lg) 0 0;
  text-align: center;
  color: var(--text-secondary);
  font-size: var(--fs-small);
}

/* ── Shared CTA card (dark gradient final call to action) ──────────────── */
.cta-section {
  max-width: var(--site-max-width);
  margin: var(--space-md) auto 0;
  padding: 0;
}

.cta-card {
  background: linear-gradient(135deg, #121317, #1a1d28);
  color: #f1f5ff;
  padding: var(--space-2xl);
  border-radius: var(--radius-lg);
  display: grid;
  gap: var(--space-md);
  text-align: center;
  box-shadow: var(--shadow-section);
  position: relative;
  overflow: hidden;
}

.cta-title {
  font-size: var(--fs-h2);
  font-weight: 600;
  margin: 0;
  color: #f8fbff;
}

.cta-actions {
  display: flex;
  justify-content: center;
  gap: var(--space-md);
  flex-wrap: wrap;
}

.cta-actions a {
  display: inline-flex;
  align-items: center;
  padding: 0.85rem 2rem;
  border-radius: var(--radius-pill);
  font-weight: 600;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.cta-primary {
  background: linear-gradient(135deg, #3186ff, #2a78e8);
  color: #121317;
  box-shadow: var(--shadow-cta);
}

.cta-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(49, 134, 255, 0.5);
}

.cta-secondary {
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: #f1f5ff;
}

@media (max-width: 720px) {
  .cta-card {
    padding: var(--space-xl) var(--space-lg);
  }
  .cta-actions {
    flex-direction: column;
  }
  .cta-actions a {
    width: 100%;
    justify-content: center;
  }
}

/* CTA Shimmer effect */
.cta-shimmer {
  position: relative;
  overflow: hidden;
}

.cta-shimmer::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transform: skewX(-25deg);
  transition: none;
}

.cta-shimmer:hover::after {
  left: 150%;
  transition: left 0.6s ease-in-out;
}

/* Bold labels inside a card list are inline run-in labels
   (e.g. "Deterministic - exact rules..."), NOT card titles. Without this
   they inherit the .card strong title styling (display:block, heading
   size, bottom margin) and the label jumps onto its own line with a big
   gap before the description. */
.card-list strong {
  display: inline;
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}

/* ── Shared Code Terminal Layouts ───────────────────────────────────── */
.code-terminal {
  background: #0c0f14;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-sm);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  font-family: var(--font-mono);
  font-size: 0.8rem;
  text-align: left;
}

.terminal-header {
  display: flex;
  align-items: center;
  padding: 8px 16px;
  background: #18191d;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.terminal-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 4px;
}
.terminal-dot.red {
  background-color: #ef4444;
}
.terminal-dot.yellow {
  background-color: #eab308;
}
.terminal-dot.green {
  background-color: #5b9dff;
}

.terminal-title {
  font-size: 0.72rem;
  color: #64748b;
  margin-left: 8px;
  font-weight: 500;
}

.code-terminal pre {
  margin: 0;
  padding: 12px 16px;
  /* Wrap long JSON/log lines (reasons, hashes) instead of horizontal scroll. */
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.code-terminal code {
  color: #cbd5e1;
}

.t-comment {
  color: #64748b;
}
.t-warn {
  color: #f59e0b;
}
.t-fail {
  color: #ef4444;
  font-weight: 600;
}
.t-info {
  color: #6aa6ff;
}

.action-traces-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-md);
  margin-top: var(--space-lg);
}

@media (max-width: 760px) {
  .action-traces-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Mobile: stacked CTA buttons go full-width + uniform (hero + CTA bands) ── */
@media (max-width: 560px) {
  .hero-actions,
  .cta-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .hero-actions > a,
  .cta-actions > a {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* ── Docs code blocks: per-block Copy button ───────────────────────────── */
/* Global (not component-scoped) because the docs body is injected via
   [innerHTML], which Angular's emulated encapsulation does not reach.
   Only the Resources docs add these elements — the blog/Insights does not. */
.doc-codeblock {
  position: relative;
}
.doc-codeblock .doc-copy-btn {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border-radius: 7px;
  color: var(--text-secondary);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--border);
  cursor: pointer;
  transition:
    color 0.15s ease,
    background 0.15s ease,
    border-color 0.15s ease;
}
.doc-codeblock .doc-copy-btn svg {
  display: block;
}
.doc-codeblock .doc-copy-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}
.doc-codeblock .doc-copy-btn:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.doc-codeblock .doc-copy-btn.is-copied {
  color: #5b9dff;
  border-color: rgba(49, 134, 255, 0.45);
  background: rgba(49, 134, 255, 0.12);
}

/*!*********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/katex/dist/katex.min.css?ngGlobalStyle ***!
  \*********************************************************************************************************************************************************************************************************************************************/
@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url('KaTeX_AMS-Regular.woff2') format("woff2"),url('KaTeX_AMS-Regular.woff') format("woff"),url('KaTeX_AMS-Regular.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url('KaTeX_Caligraphic-Bold.woff2') format("woff2"),url('KaTeX_Caligraphic-Bold.woff') format("woff"),url('KaTeX_Caligraphic-Bold.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url('KaTeX_Caligraphic-Regular.woff2') format("woff2"),url('KaTeX_Caligraphic-Regular.woff') format("woff"),url('KaTeX_Caligraphic-Regular.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url('KaTeX_Fraktur-Bold.woff2') format("woff2"),url('KaTeX_Fraktur-Bold.woff') format("woff"),url('KaTeX_Fraktur-Bold.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url('KaTeX_Fraktur-Regular.woff2') format("woff2"),url('KaTeX_Fraktur-Regular.woff') format("woff"),url('KaTeX_Fraktur-Regular.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url('KaTeX_Main-Bold.woff2') format("woff2"),url('KaTeX_Main-Bold.woff') format("woff"),url('KaTeX_Main-Bold.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url('KaTeX_Main-BoldItalic.woff2') format("woff2"),url('KaTeX_Main-BoldItalic.woff') format("woff"),url('KaTeX_Main-BoldItalic.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url('KaTeX_Main-Italic.woff2') format("woff2"),url('KaTeX_Main-Italic.woff') format("woff"),url('KaTeX_Main-Italic.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url('KaTeX_Main-Regular.woff2') format("woff2"),url('KaTeX_Main-Regular.woff') format("woff"),url('KaTeX_Main-Regular.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url('KaTeX_Math-BoldItalic.woff2') format("woff2"),url('KaTeX_Math-BoldItalic.woff') format("woff"),url('KaTeX_Math-BoldItalic.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url('KaTeX_Math-Italic.woff2') format("woff2"),url('KaTeX_Math-Italic.woff') format("woff"),url('KaTeX_Math-Italic.ttf') format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url('KaTeX_SansSerif-Bold.woff2') format("woff2"),url('KaTeX_SansSerif-Bold.woff') format("woff"),url('KaTeX_SansSerif-Bold.ttf') format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url('KaTeX_SansSerif-Italic.woff2') format("woff2"),url('KaTeX_SansSerif-Italic.woff') format("woff"),url('KaTeX_SansSerif-Italic.ttf') format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url('KaTeX_SansSerif-Regular.woff2') format("woff2"),url('KaTeX_SansSerif-Regular.woff') format("woff"),url('KaTeX_SansSerif-Regular.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url('KaTeX_Script-Regular.woff2') format("woff2"),url('KaTeX_Script-Regular.woff') format("woff"),url('KaTeX_Script-Regular.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url('KaTeX_Size1-Regular.woff2') format("woff2"),url('KaTeX_Size1-Regular.woff') format("woff"),url('KaTeX_Size1-Regular.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url('KaTeX_Size2-Regular.woff2') format("woff2"),url('KaTeX_Size2-Regular.woff') format("woff"),url('KaTeX_Size2-Regular.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url('KaTeX_Size3-Regular.woff2') format("woff2"),url('KaTeX_Size3-Regular.woff') format("woff"),url('KaTeX_Size3-Regular.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url('KaTeX_Size4-Regular.woff2') format("woff2"),url('KaTeX_Size4-Regular.woff') format("woff"),url('KaTeX_Size4-Regular.ttf') format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url('KaTeX_Typewriter-Regular.woff2') format("woff2"),url('KaTeX_Typewriter-Regular.woff') format("woff"),url('KaTeX_Typewriter-Regular.ttf') format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}


/*# sourceMappingURL=styles.css.map*/