:root {
  --container:   1180px;
  --container-narrow: 820px;
  --rail-w:      72px;
  --header-h:    64px;
  scroll-padding-top: calc(var(--header-h) + 16px);

  --radius-sm:   8px;
  --radius:      12px;
  --radius-lg:   16px;
  --radius-pill: 999px;

  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 44px; --space-12: 64px;

  --font: "Rubik", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 16px; line-height: 1.6;
  color: var(--c-text);
  background: var(--c-bg);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--c-link); text-decoration: none; }
a:hover { text-decoration: none; opacity: .9; }
button { font-family: inherit; cursor: pointer; }
strong, b { font-weight: 700; }
::selection { background: var(--c-primary); color: var(--c-on-primary); }
::-webkit-scrollbar { height: 8px; width: 8px; }
::-webkit-scrollbar-thumb { background: var(--c-bg-3); border-radius: 999px; }

.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--space-4); }
.wrap-narrow { max-width: var(--container-narrow); margin-inline: auto; }
.section { margin-bottom: var(--space-10); }
.text-center { text-align: center; }
.muted { color: var(--c-text-muted); }
.hidden { display: none !important; }
.divider { height: 1px; background: var(--c-border); border: 0; margin: var(--space-8) 0; }

.skip-link { position: absolute; left: -9999px; top: 0; z-index: 2000; background: var(--c-primary); color: var(--c-on-primary); padding: 10px 16px; border-radius: 0 0 var(--radius-sm) 0; font-weight: 700; }
.skip-link:focus { left: 0; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 2px; border-radius: 4px; }

.row-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-4); }
.row-head h2 { margin: 0; font-size: clamp(18px, 2.4vw, 22px); font-weight: 800; letter-spacing: -.01em; }
.row-head .more { font-size: 13px; font-weight: 700; color: var(--c-text-muted); text-transform: uppercase; letter-spacing: .04em; display: inline-flex; align-items: center; gap: 4px; }
.row-head .more:hover { color: var(--c-primary); }
.row-head .more svg { width: 14px; height: 14px; }

.content { color: var(--c-text); font-size: 16px; line-height: 1.75; }
.content > *:first-child { margin-top: 0; }
.content > *:last-child  { margin-bottom: 0; }

.content h1, .content h2, .content h3, .content h4, .content h5, .content h6 {
  color: var(--c-text); font-weight: 800; line-height: 1.25; margin: 1.6em 0 .55em;
  scroll-margin-top: calc(var(--header-h) + 16px); letter-spacing: -.01em;
}
.content h1 { font-size: clamp(24px, 4vw, 32px); margin-top: 0; }
.content h2 { font-size: clamp(21px, 3vw, 26px); padding-left: 14px; border-left: 4px solid var(--c-primary); }
.content h3 { font-size: clamp(18px, 2.2vw, 21px); }
.content h4 { font-size: 17px; }
.content h5, .content h6 { font-size: 15px; }

.content p { margin: 0 0 1.05em; }
.content a { color: var(--c-primary); text-decoration: underline; text-underline-offset: 3px; }
.content a:hover { opacity: .85; }
.content em, .content i { font-style: italic; }
.content small { font-size: .85em; color: var(--c-text-muted); }
.content sup, .content sub { font-size: .72em; }
.content mark { background: var(--c-primary); color: var(--c-on-primary); padding: 0 .25em; border-radius: 4px; }
.content code { font-family: ui-monospace, Menlo, monospace; font-size: .9em; background: var(--c-bg-3); padding: .1em .4em; border-radius: 5px; }
.content hr { border: 0; height: 1px; background: var(--c-border); margin: var(--space-8) 0; }

.content ul, .content ol { margin: 0 0 1.05em; padding-left: 1.4em; }
.content li { margin-bottom: .5em; }
.content li::marker { color: var(--c-primary); font-weight: 700; }
.content ul ul, .content ol ol, .content ul ol, .content ol ul { margin: .5em 0; }

.content blockquote {
  margin: 1.4em 0; padding: var(--space-3) var(--space-5);
  border-left: 4px solid var(--c-primary); background: var(--c-bg-2); border-radius: 0 var(--radius) var(--radius) 0; color: var(--c-text);
}
.content blockquote p:last-child { margin-bottom: 0; }

.content img { border-radius: var(--radius); margin: 1.2em 0; width: 100%; border: 1px solid var(--c-border); }
.content img[width] { width: auto; display: inline-block; vertical-align: middle; border: 0; margin: 0; }
.content figure { margin: 1.4em 0; }
.content figure img { margin: 0 0 .5em; }
.content figcaption { font-size: .85em; color: var(--c-text-muted); text-align: center; }

.content table {
  width: 100%; border-collapse: separate; border-spacing: 0; margin: 1.4em 0; font-size: 15px;
  border: 1px solid var(--c-border); border-radius: var(--radius); overflow: hidden; background: var(--c-bg-2);
}
.content thead th, .content thead td, .content th {
  background: var(--c-bg-3); color: var(--c-text); font-weight: 700; text-align: left;
  font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase;
}
.content th, .content td { padding: 12px 15px; border-bottom: 1px solid var(--c-border); vertical-align: top; text-align: left; }
.content tbody tr:last-child td { border-bottom: 0; }
.content tbody tr:nth-child(2n) { background: rgba(255,255,255,.02); }
.content tbody td:first-child { font-weight: 600; }
.content table a { color: var(--c-primary); }
@media (max-width: 640px) { .content table { display: block; overflow-x: auto; } .content th, .content td { min-width: 8ch; } }

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

/* 148dce722c7ffbda0195d652e715102460e3c0b8a2345976e50f8c4c040cea65 */
