:root { color-scheme: dark; --c-ground: #101317; --c-mint: #4dffc3; --c-pewter: #aeb6c2; --c-text: #f0f2ef; --c-panel: #171c22; --c-line: #39454c; }
body { color: var(--c-text); background-color: var(--c-ground); isolation: isolate; }
body::before { background: url("/lattice.svg") repeat center top; opacity: .32; }
::selection { background: var(--c-mint); color: var(--c-ground); }
a { color: var(--c-mint); text-decoration-thickness: 1px; text-underline-offset: .25em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--c-mint); outline-offset: 4px; }
.c-skip { color: var(--c-ground); background: var(--c-mint); }
.c-masthead { border-top: 2px solid var(--c-mint); border-bottom: 1px solid var(--c-line); }
.c-brand-mark { stroke: var(--c-mint); fill: none; stroke-width: 1.4; }
.c-masthead-note, .c-breadcrumb, .c-caption, figcaption, .c-footer { color: var(--c-pewter); }
.c-breadcrumb a { color: var(--c-pewter); }
.c-breadcrumb [aria-current="page"] { color: var(--c-text); }
.c-breadcrumb li + li::before { color: var(--c-pewter); }
.c-arrow { fill: none; stroke: currentColor; stroke-width: 1.5; }
.c-action { color: var(--c-ground); background-color: var(--c-mint); border: 1px solid var(--c-mint); text-decoration: none; }
.c-action:hover { background-color: #a0ffdd; text-decoration: none; }
.c-action.c-action-outline { color: var(--c-mint); background: var(--c-ground); }
.c-action.c-action-outline:hover { background: var(--c-panel); }
.c-path-diagram { border: 1px solid var(--c-line); border-top: 2px solid var(--c-mint); background: var(--c-panel); }
.c-path-node + .c-path-node::before { background: var(--c-mint); }
.c-node-mark { border: 1px solid var(--c-mint); clip-path: polygon(25% 0, 75% 0, 100% 25%, 100% 75%, 75% 100%, 25% 100%, 0 75%, 0 25%); background: #263b35; }
.c-node-mark::after { background: var(--c-mint); }
.c-path-node p { color: var(--c-pewter); }
.c-path-diagram figcaption { border-top: 1px solid var(--c-line); }
.c-section, .c-next { border-top: 1px solid var(--c-line); }
.c-section-title .c-caption, .c-next > .c-caption { color: var(--c-mint); }
.c-compare-grid { border: 1px solid var(--c-line); background: var(--c-panel); }
.c-compare-cell + .c-compare-cell { border-left: 1px solid var(--c-line); }
.c-compare-cell h3 { color: var(--c-mint); }
.c-compare-cell .c-question { color: var(--c-pewter); border-top: 1px solid var(--c-line); padding-top: 1rem; margin-top: auto; }
.c-term-grid { border-top: 1px solid var(--c-line); border-left: 1px solid var(--c-line); }
.c-term-link { text-decoration: none; border-right: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); background-color: var(--c-ground); }
.c-term-link > span:not(.c-term-title) { color: var(--c-pewter); }
.c-term-link:hover { background: var(--c-panel); text-decoration: none; }
.c-term-link:hover .c-term-title { text-decoration: underline; text-underline-offset: .2em; }
.c-jump { border: 1px solid var(--c-line); background-color: var(--c-ground); }
.c-jump summary { color: var(--c-mint); }
.c-jump[open] summary { border-bottom: 1px solid var(--c-line); }
.c-jump a { color: var(--c-pewter); }
.c-jump a:hover, .c-jump a[aria-current="location"] { color: var(--c-mint); background: var(--c-panel); }
.c-definition { background: var(--c-panel); border-left: 2px solid var(--c-mint); }
.c-definition dt { color: var(--c-mint); }
.c-question-list li { border-bottom: 1px solid var(--c-line); }
.c-question-list li::before { color: var(--c-mint); }
.c-table { border: 1px solid var(--c-line); background: var(--c-panel); }
.c-table thead { color: var(--c-mint); background: #1e2c2b; }
.c-table th, .c-table td { border-bottom: 1px solid var(--c-line); }
.c-table tbody th { color: var(--c-mint); }
.c-note { background: var(--c-panel); border-left: 1px solid var(--c-mint); }
.c-reading-item { border: 1px solid var(--c-line); border-left: 2px solid var(--c-mint); background: var(--c-panel); }
.c-reading-item .c-caption { color: var(--c-mint); }
.c-footer { border-top: 1px solid var(--c-line); }
.c-urgent { color: var(--c-ground); background: var(--c-mint); }
.c-urgent .c-caption, .c-urgent a { color: var(--c-ground); }
@media (max-width: 1050px) {
  .c-compare-cell + .c-compare-cell { border-left: none; border-top: 1px solid var(--c-line); }
  .c-compare-pair .c-compare-cell + .c-compare-cell { border-left: 1px solid var(--c-line); border-top: none; }
}
@media (max-width: 720px) {
  .c-compare-pair .c-compare-cell + .c-compare-cell { border-left: none; border-top: 1px solid var(--c-line); }
}
