:root {
  --font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif;
}

body {
    font-family: var(--font-family);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family);
    font-weight: 600;
}

h1 {
    font-size: 2.25rem;
    margin-bottom: 1rem;
}

h2 {
    font-size: 1.75rem;
    margin-bottom: 1rem;
}

h3 {
    font-size: 1.25rem;
}

h4 {
    font-size: 1.1rem;
}

h5 {
    font-size: 1rem;
}

h6 {
    font-size: 0.9rem;
}

code {
    font-family: var(--font-family-monospace);
    font-size: 0.875em;
    color: var(--text-primary);
    background-color: var(--code-background);
    padding: 0.2em 0.4em;
    border-radius: var(--border-radius-sm);
}

pre code {
    padding: 0;
    background-color: transparent;
    border-radius: 0;
}

pre {
    font-family: var(--font-family-monospace);
}

.navbar-brand img {
    display: none !important;
}

:root {
    --brand-color: #0078d4;
    --brand-color-dark: #005a9e;
    --text-primary: #242424;
    --text-secondary: #616161;
    --text-tertiary: #8a8a8a;
    --text-link: #0078d4;
    --text-link-hover: #005a9e;
    --body-background: #fff;
    --content-background: #fff;
    --sidebar-background: #f5f5f5;
    --navbar-background: #fff;
    --code-background: #f6f8fa;
    --code-block-background: #1e1e1e;
    --hover-background: #f5f5f5;
    --border-color: #e1e1e1;
    --divider-color: #edebe9;
    --toc-background: #f5f5f5;
    --toc-text: #242424;
    --toc-text-hover: #0078d4;
    --toc-active-background: #e6f2fb;
    --toc-active-border: #0078d4;
    --navbar-height: 50px;
    --content-max-width: 900px;
    --font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif;
    --font-family-monospace: 'Cascadia Code', Consolas, monospace;
    --font-size-base: 16px;
    --line-height-base: 1.6;
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;
    --spacing-xxl: 48px;
    --border-radius-sm: 4px;
    --border-radius-md: 6px;
}

blockquote,
.NOTE,
.TIP,
.WARNING,
.IMPORTANT,
.CAUTION,
div.NOTE,
div.TIP,
div.WARNING,
div.IMPORTANT,
div.CAUTION,
.alert {
    border-left: 4px solid var(--brand-color);
    background-color: var(--sidebar-background);
    padding: var(--spacing-md) var(--spacing-lg);
    margin: var(--spacing-md) 0;
    border-radius: 0 var(--border-radius-md) var(--border-radius-md) 0;
}

blockquote p:last-child,
.alert p:last-child {
    margin-bottom: 0;
}

.NOTE,
div.NOTE,
.alert-info {
    border-left-color: #0078d4;
    background-color: #f0f6fc;
}

[data-bs-theme='dark'] .NOTE,
[data-bs-theme='dark'] div.NOTE,
[data-bs-theme='dark'] .alert-info {
    background-color: #0c3b5e;
}

.TIP,
div.TIP,
.alert-success {
    border-left-color: #107c10;
    background-color: #f1faf1;
}

[data-bs-theme='dark'] .TIP,
[data-bs-theme='dark'] div.TIP,
[data-bs-theme='dark'] .alert-success {
    background-color: #0b3d0b;
}

.WARNING,
div.WARNING,
.alert-warning {
    border-left-color: #ffb900;
    background-color: #fffcf0;
}

[data-bs-theme='dark'] .WARNING,
[data-bs-theme='dark'] div.WARNING,
[data-bs-theme='dark'] .alert-warning {
    background-color: #4d3800;
}

.IMPORTANT,
.CAUTION,
div.IMPORTANT,
div.CAUTION,
.alert-danger {
    border-left-color: #d13438;
    background-color: #fdf3f4;
}

[data-bs-theme='dark'] .IMPORTANT,
[data-bs-theme='dark'] .CAUTION,
[data-bs-theme='dark'] div.IMPORTANT,
[data-bs-theme='dark'] div.CAUTION,
[data-bs-theme='dark'] .alert-danger {
    background-color: #4a1315;
}

.NOTE h5,
.TIP h5,
.WARNING h5,
.IMPORTANT h5,
.CAUTION h5,
div.NOTE h5,
div.TIP h5,
div.WARNING h5,
div.IMPORTANT h5,
div.CAUTION h5,
.alert h5 {
    margin-top: 0;
    margin-bottom: var(--spacing-sm);
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* * * * * */

:root {
    --brand-color: #0f6cbd;
    --brand-color-dark: #115ea3;

    --text-primary: #1b1a19;
    --text-secondary: #484644;
    --text-link: #115ea3;
    --text-link-hover: #0f548c;

    --body-background: #ffffff;
    --content-background: #ffffff;
    --sidebar-background: #f8f8f8;
    --navbar-background: #ffffff;

    --border-color: #e0dfde;
    --divider-color: #edebe9;

    --code-background: #f3f2f1;
    --code-block-background: #f8f8f8;

    --border-radius-sm: 4px;
    --border-radius-md: 8px;

    --content-max-width: 980px;
    --font-size-base: 17px;
    --line-height-base: 1.65;
}

[data-bs-theme='dark'] {
    --text-primary: #f3f2f1;
    --text-secondary: #c8c6c4;
    --text-link: #6cb8f6;
    --text-link-hover: #8ec8f8;

    --body-background: #1e1e1e;
    --content-background: #1e1e1e;
    --sidebar-background: #1e1e1e;
    --navbar-background: #1e1e1e;

    --border-color: #323130;
    --divider-color: #323130;

    --code-background: #141414;
    --code-block-background: #141414;
}

body {
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    color: var(--text-primary);
    background: var(--body-background);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

main,
.content,
article {
    max-width: var(--content-max-width);
}

a {
    color: var(--text-link);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.14em;
}

a:hover {
    color: var(--text-link-hover);
}

a:focus-visible {
    outline: 2px solid var(--brand-color);
    outline-offset: 2px;
    border-radius: 2px;
}

h1,
h2,
h3 {
    letter-spacing: -0.01em;
}

h1 {
    font-size: 2.2rem;
    margin: 0 0 1rem;
}

h2 {
    font-size: 1.7rem;
    margin: 2rem 0 0.75rem;
}

h3 {
    font-size: 1.3rem;
    margin: 1.5rem 0 0.5rem;
}

.navbar {
    background: var(--navbar-background);
    border-bottom: 1px solid var(--divider-color);
}

code {
    background: var(--code-background);
    border: 1px solid var(--border-color);
}

table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0 1.5rem;
    border: 1px solid var(--border-color);
}

th,
td {
    border-bottom: 1px solid var(--border-color);
    padding: 0.625rem 0.75rem;
}

th {
    text-align: left;
    background: var(--sidebar-background);
    font-weight: 600;
}

.NOTE,
.TIP,
.WARNING,
.IMPORTANT,
.CAUTION,
div.NOTE,
div.TIP,
div.WARNING,
div.IMPORTANT,
div.CAUTION,
.alert {
    border-left-width: 3px;
    border-radius: var(--border-radius-md);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}