:root {
    --bg: #ffffff;
    --bg-layer: #fafafa;
    --bg-hover: #f5f5f5;
    --bg-pressed: #ebebeb;
    --stroke: #e0e0e0;
    --stroke-strong: #d1d1d1;
    --text: #1b1b1b;
    --text-secondary: #616161;

    --accent: #dd7a01;
    --accent-hover: #c96e01;
    --accent-pressed: #a85c00;
    --accent-text: #b05f00;
    --accent-tint: #fdf2e3;

    --danger-text: #c50f1f;
    --info-text: #0f6cbd;
    --success-text: #0f7b0f;

    --tip-bg: #eff6fc;
    --tip-stroke: #b4d6fa;
    --tip-bar: #0f6cbd;
    --notice-bg: #f1faf1;
    --notice-stroke: #9fd89f;
    --notice-bar: #0e700e;
    --warning-bg: #fff4ce;
    --warning-stroke: #f2e2b0;
    --warning-bar: #a76f00;

    --shadow-2: 0 1px 2px rgba(0, 0, 0, 0.14), 0 0 2px rgba(0, 0, 0, 0.12);

    color-scheme: light;
}

/* NOTE: keep this block in sync with the .dark block below. */
@media (prefers-color-scheme: dark) {
    :root {
        --bg: #1f1f1f;
        --bg-layer: #242424;
        --bg-hover: #2d2d2d;
        --bg-pressed: #363636;
        --stroke: #3d3d3d;
        --stroke-strong: #4a4a4a;
        --text: #f2f2f2;
        --text-secondary: #c7c7c7;

        --accent: #f7a83a;
        --accent-hover: #ffbc5c;
        --accent-pressed: #d98d1f;
        --accent-text: #f7a83a;
        --accent-tint: rgba(221, 122, 1, 0.16);

        --danger-text: #ff99a4;
        --info-text: #6cb8f6;
        --success-text: #6ccb6c;

        --tip-bg: #0f2437;
        --tip-stroke: #16436b;
        --tip-bar: #479ef5;
        --notice-bg: #0e2812;
        --notice-stroke: #1a4a22;
        --notice-bar: #54b054;
        --warning-bg: #332b0a;
        --warning-stroke: #5c4d13;
        --warning-bar: #e8c000;

        --shadow-2: 0 1px 2px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.4);

        color-scheme: dark;
    }
}

/* Forced dark theme */
.dark {
    --bg: #1f1f1f;
    --bg-layer: #242424;
    --bg-hover: #2d2d2d;
    --bg-pressed: #363636;
    --stroke: #3d3d3d;
    --stroke-strong: #4a4a4a;
    --text: #f2f2f2;
    --text-secondary: #c7c7c7;

    --accent: #f7a83a;
    --accent-hover: #ffbc5c;
    --accent-pressed: #d98d1f;
    --accent-text: #f7a83a;
    --accent-tint: rgba(221, 122, 1, 0.16);

    --danger-text: #ff99a4;
    --info-text: #6cb8f6;
    --success-text: #6ccb6c;

    --tip-bg: #0f2437;
    --tip-stroke: #16436b;
    --tip-bar: #479ef5;
    --notice-bg: #0e2812;
    --notice-stroke: #1a4a22;
    --notice-bar: #54b054;
    --warning-bg: #332b0a;
    --warning-stroke: #5c4d13;
    --warning-bar: #e8c000;

    --shadow-2: 0 1px 2px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.4);

    color-scheme: dark;
}

/* Base */
body {
    margin: 0;
    padding-top: 56px;
    font-family: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    background-color: #ffffff;
    background-color: var(--bg);
    color: #1b1b1b;
    color: var(--text);
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

::selection {
    background-color: #fdf2e3;
    background-color: var(--accent-tint);
}

[id] {
    scroll-margin-top: 64px;
}

table.layout {
    display: table;
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
}
table.layout > tbody > tr > td {
    padding: 0;
    vertical-align: top;
    border: none;
}
#navi {
    min-width: 250px;
    width: 250px;
    vertical-align: top;
    padding: 8px 8px 24px 8px;
    border-right: 1px solid #e0e0e0;
    border-right: 1px solid var(--stroke);
}
#content {
    width: 100%;
    vertical-align: top;
    padding: 8px 32px 32px 32px;
}
#toclauncher {
    display: none;
}

#toolbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    box-sizing: border-box;
    height: 40px;
    padding: 4px 8px;
    line-height: 32px;
    white-space: nowrap;
    overflow: hidden;
    font-size: 13px;
    background-color: #ffffff;
    background-color: var(--bg);
    border-bottom: 1px solid #e0e0e0;
    border-bottom: 1px solid var(--stroke);
    -ms-user-select: none;
    user-select: none;
}

@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    #toolbar {
        background-color: color-mix(in srgb, var(--bg) 80%, transparent);
        -webkit-backdrop-filter: blur(20px) saturate(125%);
        backdrop-filter: blur(20px) saturate(125%);
    }
}

.ToolStrip span {
    display: inline-block;
    box-sizing: border-box;
    height: 32px;
    line-height: 32px;
    padding: 0 8px;
    vertical-align: middle;
    text-decoration: none;
    color: #1b1b1b;
    color: var(--text);
}

.ToolStrip a.button,
.ToolStrip a.button:link,
.ToolStrip a.button:visited,
.ToolStrip a,
.ToolStrip a:link,
.ToolStrip a:visited {
    display: inline-block;
    box-sizing: border-box;
    height: 32px;
    line-height: 30px;
    padding: 0 12px;
    margin: 0 2px 0 0;
    vertical-align: middle;
    text-align: center;
    text-decoration: none;
    cursor: default;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 4px;
    box-shadow: none;
    transition: background-color 100ms cubic-bezier(0.33, 0, 0.67, 1), border-color 100ms cubic-bezier(0.33, 0, 0.67, 1), color 100ms cubic-bezier(0.33, 0, 0.67, 1);
    color: #1b1b1b;
    color: var(--text);
}

.ToolStrip a.button:hover,
.ToolStrip a:hover {
    text-decoration: none;
    background-color: #f5f5f5;
    background-color: var(--bg-hover);
    border-color: #e0e0e0;
    border-color: var(--stroke);
    color: #1b1b1b;
    color: var(--text);
}

.ToolStrip a.button:active,
.ToolStrip a:active {
    background-color: #ebebeb;
    background-color: var(--bg-pressed);
    border-color: #d1d1d1;
    border-color: var(--stroke-strong);
    color: #616161;
    color: var(--text-secondary);
}

.ToolStrip a.button[data-checked="true"],
.ToolStrip a[data-checked="true"] {
    background-color: #fdf2e3;
    background-color: var(--accent-tint);
    border-color: #dd7a01;
    border-color: var(--accent);
    color: #1b1b1b;
    color: var(--text);
}
.ToolStrip a.button[data-checked="true"]:hover,
.ToolStrip a[data-checked="true"]:hover {
    background-color: #fdf2e3;
    background-color: var(--accent-tint);
    border-color: #c96e01;
    border-color: var(--accent-hover);
}

.ToolStrip a.button > img {
    vertical-align: middle;
}

.dark .ToolStrip a.button > img {
    filter: invert(1);
}
@media (prefers-color-scheme: dark) {
    .ToolStrip a.button > img {
        filter: invert(1);
    }
}

.ToolStrip.vertical {
    overflow-y: auto;
}
.ToolStrip.vertical a {
    width: 100%;
}
.ToolStrip.left a {
    text-align: left;
}

#navi {
    cursor: default;
    -ms-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}
#navi * {
    cursor: default;
}
#navi li.heading,
#navi li > a,
.toc li.heading,
.toc li > a {
    cursor: pointer;
}

div.toctitle {
    margin: 4px 0 8px 8px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #616161;
    color: var(--text-secondary);
}

.toc > ul,
.toc ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
.toc ul.hnav {
    padding-left: 14px;
}
.toc li {
    padding: 0;
    background-image: none;
}

.toc li > a,
.toc li > a:link,
.toc li > a:visited {
    display: block;
    position: relative;
    padding: 5px 8px 5px 26px;
    border-radius: 4px;
    text-decoration: none;
    background-repeat: no-repeat;
    background-position: left 6px top 50%;
    transition: background-color 100ms cubic-bezier(0.33, 0, 0.67, 1), color 100ms cubic-bezier(0.33, 0, 0.67, 1);
    color: #1b1b1b;
    color: var(--text);
}

.toc li > a:hover {
    text-decoration: none;
    background-color: #f5f5f5;
    background-color: var(--bg-hover);
    color: #1b1b1b;
    color: var(--text);
}
.toc li > a:active {
    background-color: #ebebeb;
    background-color: var(--bg-pressed);
}

.toc li.selected > a,
.toc li.selected > a:link,
.toc li.selected > a:visited {
    font-weight: 600;
    background-color: #fdf2e3;
    background-color: var(--accent-tint);
    color: #b05f00;
    color: var(--accent-text);
}

.toc li.heading > a::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 50%;
    margin-top: -4px;
    width: 5px;
    height: 5px;
    border-right: 1.5px solid #616161;
    border-right: 1.5px solid var(--text-secondary);
    border-bottom: 1.5px solid #616161;
    border-bottom: 1.5px solid var(--text-secondary);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transition: transform 100ms cubic-bezier(0.33, 0, 0.67, 1);
}
.toc li.heading:not(.collapsed) > a::before {
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.toc li.topic > a {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48ZyBmaWxsPSJub25lIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMS4xIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxyZWN0IHg9IjIuNzUiIHk9IjEuNzUiIHdpZHRoPSIxMC41IiBoZWlnaHQ9IjEyLjUiIHJ4PSIxLjc1Ii8+PHBhdGggZD0iTTcuNSA1LjVoMy4yTTcuNSA4aDMuMk03LjUgMTAuNWgzLjIiLz48L2c+PGcgZmlsbD0iIzYxNjE2MSI+PGNpcmNsZSBjeD0iNS40IiBjeT0iNS41IiByPSIuNjIiLz48Y2lyY2xlIGN4PSI1LjQiIGN5PSI4IiByPSIuNjIiLz48Y2lyY2xlIGN4PSI1LjQiIGN5PSIxMC41IiByPSIuNjIiLz48L2c+PC9zdmc+");
    background-size: 16px 16px;
    background-position: left 5px top 50%;
}
/* Dark variant of the same icon - both paths, so IE11 gets it from .dark too */
@media (prefers-color-scheme: dark) {
    .toc li.topic > a {
        background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48ZyBmaWxsPSJub25lIiBzdHJva2U9IiNjN2M3YzciIHN0cm9rZS13aWR0aD0iMS4xIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxyZWN0IHg9IjIuNzUiIHk9IjEuNzUiIHdpZHRoPSIxMC41IiBoZWlnaHQ9IjEyLjUiIHJ4PSIxLjc1Ii8+PHBhdGggZD0iTTcuNSA1LjVoMy4yTTcuNSA4aDMuMk03LjUgMTAuNWgzLjIiLz48L2c+PGcgZmlsbD0iI2M3YzdjNyI+PGNpcmNsZSBjeD0iNS40IiBjeT0iNS41IiByPSIuNjIiLz48Y2lyY2xlIGN4PSI1LjQiIGN5PSI4IiByPSIuNjIiLz48Y2lyY2xlIGN4PSI1LjQiIGN5PSIxMC41IiByPSIuNjIiLz48L2c+PC9zdmc+");
    }
}
.dark .toc li.topic > a {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48ZyBmaWxsPSJub25lIiBzdHJva2U9IiNjN2M3YzciIHN0cm9rZS13aWR0aD0iMS4xIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxyZWN0IHg9IjIuNzUiIHk9IjEuNzUiIHdpZHRoPSIxMC41IiBoZWlnaHQ9IjEyLjUiIHJ4PSIxLjc1Ii8+PHBhdGggZD0iTTcuNSA1LjVoMy4yTTcuNSA4aDMuMk03LjUgMTAuNWgzLjIiLz48L2c+PGcgZmlsbD0iI2M3YzdjNyI+PGNpcmNsZSBjeD0iNS40IiBjeT0iNS41IiByPSIuNjIiLz48Y2lyY2xlIGN4PSI1LjQiIGN5PSI4IiByPSIuNjIiLz48Y2lyY2xlIGN4PSI1LjQiIGN5PSIxMC41IiByPSIuNjIiLz48L2c+PC9zdmc+");
}

.toc li.collapsed ul {
    display: none;
}

/* --------------------------------------------------------------------------
   Headings
   -------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    line-height: 1.3;
    color: #1b1b1b;
    color: var(--text);
}
h1 {
    margin: 8px 0 24px 0;
    font-size: 28px;
    color: #dd7a01;
    color: var(--accent);
}
h2 {
    margin: 1.75em 0 0.5em 0;
    font-size: 20px;
}
h3 {
    margin: 1.5em 0 0.4em 0;
    font-size: 16px;
}
h4 {
    margin: 1.5em 0 0.4em 0;
    font-size: 15px;
    color: #616161;
    color: var(--text-secondary);
}
h5, h6 {
    margin: 1.5em 0 0.4em 0;
    font-size: 14px;
    color: #616161;
    color: var(--text-secondary);
}

/* --------------------------------------------------------------------------
   Content
   -------------------------------------------------------------------------- */
#body_content {
    max-width: 900px;
    margin: 0;
}
#body_content img {
    max-width: 100%;
    height: auto;
}
#topofpagefooter {
    padding: 0 0 10px 0;
}

p {
    margin: 0.75em 0;
}

ul, ol {
    margin: 0.75em 0;
    padding-left: 24px;
}
ul li, ol li {
    padding: 2px 0;
}
li ul, li ol {
    margin: 2px 0;
}
ul.nhelp_related {
    margin: 0.5em 0;
    padding-left: 24px;
}

hr {
    height: 1px;
    margin: 1.5em 0;
    border: none;
    background-color: #e0e0e0;
    background-color: var(--stroke);
}

defn {
    border-bottom: 1px dotted;
    cursor: help;
}

/* --------------------------------------------------------------------------
   Links
   -------------------------------------------------------------------------- */
a, a:link, a:visited {
    text-decoration: none;
    color: #b05f00;
    color: var(--accent-text);
}
a:hover {
    text-decoration: underline;
    color: #c96e01;
    color: var(--accent-hover);
}
a:active {
    color: #a85c00;
    color: var(--accent-pressed);
}

a:focus,
.ToolStrip a:focus {
    outline: 2px solid #dd7a01;
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}
a:focus:not(:focus-visible),
.ToolStrip a:focus:not(:focus-visible) {
    outline: none;
}
a:focus-visible,
.ToolStrip a:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

a.external, a.external:link, a.external:visited {
    text-decoration: underline;
    text-decoration: underline dotted;
    text-underline-offset: 2px;
    color: #0f7b0f;
    color: var(--success-text);
}
a.external:hover, a.external:active {
    text-decoration: underline;
}

a.command, a.command:link, a.command:visited {
    text-decoration: none;
    color: #b05f00;
    color: var(--accent-text);
}
a.command:hover, a.command:active {
    text-decoration: underline;
    color: #c96e01;
    color: var(--accent-hover);
}

a.button, a.button:link, a.button:visited {
    display: inline-block;
    box-sizing: border-box;
    min-height: 32px;
    padding: 6px 16px;
    margin: 0 4px 8px 0;
    border-radius: 4px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    transition: background-color 100ms cubic-bezier(0.33, 0, 0.67, 1), border-color 100ms cubic-bezier(0.33, 0, 0.67, 1), color 100ms cubic-bezier(0.33, 0, 0.67, 1);
    background-color: #ffffff;
    background-color: var(--bg);
    color: #1b1b1b;
    color: var(--text);
    border: 1px solid #d1d1d1;
    border: 1px solid var(--stroke-strong);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.14), 0 0 2px rgba(0, 0, 0, 0.12);
    box-shadow: var(--shadow-2);
}
a.button:hover {
    text-decoration: none;
    background-color: #f5f5f5;
    background-color: var(--bg-hover);
    border-color: #dd7a01;
    border-color: var(--accent);
    color: #b05f00;
    color: var(--accent-text);
}
a.button:active {
    box-shadow: none;
    background-color: #ebebeb;
    background-color: var(--bg-pressed);
    border-color: #a85c00;
    border-color: var(--accent-pressed);
    color: #a85c00;
    color: var(--accent-pressed);
}
a.button img {
    vertical-align: middle;
}

code {
    padding: 0.1em 0.35em;
    border-radius: 4px;
    font-family: "Cascadia Mono", "Cascadia Code", Consolas, "Courier New", monospace;
    font-size: 0.9em;
    background-color: #fafafa;
    background-color: var(--bg-layer);
    border: 1px solid #e0e0e0;
    border: 1px solid var(--stroke);
    color: #1b1b1b;
    color: var(--text);
}

.code,
pre {
    display: block;
    padding: 12px 14px;
    margin: 1em 0;
    border-radius: 6px;
    font-family: "Cascadia Mono", "Cascadia Code", Consolas, "Courier New", monospace;
    font-size: 13px;
    line-height: 1.5;
    overflow-x: auto;
    background-color: #fafafa;
    background-color: var(--bg-layer);
    border: 1px solid #e0e0e0;
    border: 1px solid var(--stroke);
}
pre {
    white-space: pre-wrap;
    word-wrap: break-word;
}
.code:empty {
    display: none;
}
.code code,
pre code {
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    font-size: inherit;
}

span.keyboard {
    display: inline-block;
    padding: 0.1em 0.45em;
    border-radius: 4px;
    font-family: inherit;
    font-size: 0.85em;
    background-color: #fafafa;
    background-color: var(--bg-layer);
    border: 1px solid #d1d1d1;
    border: 1px solid var(--stroke-strong);
    border-bottom-width: 2px;
    color: #1b1b1b;
    color: var(--text);
}

.tipbox,
.noticebox,
.warningbox {
    box-sizing: border-box;
    margin: 1em 0;
    padding: 10px 14px;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
    border: 1px solid var(--stroke);
    border-left-width: 4px;
}
.tipbox {
    background-color: #eff6fc;
    background-color: var(--tip-bg);
    border-color: #b4d6fa;
    border-color: var(--tip-stroke);
    border-left-color: #0f6cbd;
    border-left-color: var(--tip-bar);
}
.noticebox {
    background-color: #f1faf1;
    background-color: var(--notice-bg);
    border-color: #9fd89f;
    border-color: var(--notice-stroke);
    border-left-color: #0e700e;
    border-left-color: var(--notice-bar);
}
.warningbox {
    background-color: #fff4ce;
    background-color: var(--warning-bg);
    border-color: #f2e2b0;
    border-color: var(--warning-stroke);
    border-left-color: #a76f00;
    border-left-color: var(--warning-bar);
}

.infobox {
    display: inline-block;
    margin: 0.75em 0;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 14px;
    background-color: #fafafa;
    background-color: var(--bg-layer);
    border: 1px solid #e0e0e0;
    border: 1px solid var(--stroke);
    color: #616161;
    color: var(--text-secondary);
}

.required {
    font-weight: 600;
    color: #c50f1f;
    color: var(--danger-text);
}
.optional {
    color: #0f6cbd;
    color: var(--info-text);
}
.deprecated {
    color: #616161;
    color: var(--text-secondary);
}

table:not(.layout) {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 1em 0;
    overflow-x: auto;
    border-collapse: collapse;
    font-size: 14px;
}
table:not(.layout) tr th {
    text-align: left;
    padding: 8px 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #616161;
    color: var(--text-secondary);
    border-bottom: 1px solid #d1d1d1;
    border-bottom: 1px solid var(--stroke-strong);
}
table:not(.layout) tr td {
    padding: 8px 10px;
    border-bottom: 1px solid #e0e0e0;
    border-bottom: 1px solid var(--stroke);
}
table:not(.layout) tbody tr:hover td {
    background-color: #f5f5f5;
    background-color: var(--bg-hover);
}

#breadcrumb {
    padding: 6px 12px;
    font-size: 13px;
    color: #616161;
    color: var(--text-secondary);
    background-color: #fafafa;
    background-color: var(--bg-layer);
    border-bottom: 1px solid #e0e0e0;
    border-bottom: 1px solid var(--stroke);
}
#breadcrumb a, #breadcrumb a:link, #breadcrumb a:visited {
    text-decoration: none;
    color: #616161;
    color: var(--text-secondary);
}
#breadcrumb a:hover {
    text-decoration: underline;
    color: #b05f00;
    color: var(--accent-text);
}

#footer {
    padding: 12px;
    font-size: 12px;
    text-align: center;
    border-top: 1px solid #e0e0e0;
    border-top: 1px solid var(--stroke);
    color: #616161;
    color: var(--text-secondary);
}

@media screen and (max-width: 700px) {
    #navi {
        display: none;
    }
    #toclauncher {
        display: inline;
        padding: 0;
    }
    #content {
        padding: 8px 16px 24px 16px;
    }
    h1 {
        font-size: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    * {
        transition: none !important;
        animation: none !important;
    }
}

@media print {
    body {
        padding-top: 0;
        background: #fff;
        color: #000;
    }
    #toolbar,
    #navi,
    #footer,
    #topofpagefooter {
        display: none;
    }
    #content {
        padding: 0;
    }
    a, a:link, a:visited {
        color: #000;
    }
}

/* IE fallback for Pyrite */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .dark {
        background-color: #1f1f1f;
        color: #f2f2f2;
    }
    .dark #toolbar {
        background-color: #1f1f1f;
        border-bottom-color: #3d3d3d;
    }
    .dark .ToolStrip span {
        color: #f2f2f2;
    }
    .dark .ToolStrip a.button,
    .dark .ToolStrip a.button:link,
    .dark .ToolStrip a.button:visited,
    .dark .ToolStrip a,
    .dark .ToolStrip a:link,
    .dark .ToolStrip a:visited {
        background-color: transparent;
        border-color: transparent;
        box-shadow: none;
        color: #f2f2f2;
    }
    .dark .ToolStrip a.button:hover,
    .dark .ToolStrip a:hover {
        background-color: #2d2d2d;
        border-color: #3d3d3d;
        color: #f2f2f2;
    }
    .dark .ToolStrip a.button:active,
    .dark .ToolStrip a:active {
        background-color: #363636;
        border-color: #4a4a4a;
        color: #c7c7c7;
    }
    .dark .ToolStrip a.button[data-checked="true"],
    .dark .ToolStrip a[data-checked="true"] {
        background-color: #3a2c15;
        border-color: #f7a83a;
        color: #f2f2f2;
    }
    .dark .ToolStrip a.button > img {
        background-color: #f2f2f2;
        border-radius: 2px;
    }

    .dark #navi {
        border-right-color: #3d3d3d;
    }
    .dark div.toctitle {
        color: #c7c7c7;
    }
    .dark .toc li > a,
    .dark .toc li > a:link,
    .dark .toc li > a:visited {
        color: #f2f2f2;
    }
    .dark .toc li > a:hover {
        background-color: #2d2d2d;
        color: #f2f2f2;
    }
    .dark .toc li > a:active {
        background-color: #363636;
    }
    .dark .toc li.selected > a,
    .dark .toc li.selected > a:link,
    .dark .toc li.selected > a:visited {
        background-color: #3a2c15;
        color: #f7a83a;
    }
    .dark .toc li.heading > a::before {
        border-right-color: #c7c7c7;
        border-bottom-color: #c7c7c7;
    }

    .dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6 {
        color: #f2f2f2;
    }
    .dark h1 {
        color: #f7a83a;
    }
    .dark h4, .dark h5, .dark h6 {
        color: #c7c7c7;
    }
    .dark hr {
        background-color: #3d3d3d;
    }

    .dark a, .dark a:link, .dark a:visited {
        color: #f7a83a;
    }
    .dark a:hover {
        color: #ffbc5c;
    }
    .dark a:active {
        color: #d98d1f;
    }
    .dark a:focus {
        outline-color: #f7a83a;
    }
    .dark a.external, .dark a.external:link, .dark a.external:visited {
        color: #6ccb6c;
    }
    .dark a.command, .dark a.command:link, .dark a.command:visited {
        color: #f7a83a;
    }

    .dark a.button, .dark a.button:link, .dark a.button:visited {
        background-color: #1f1f1f;
        border-color: #4a4a4a;
        color: #f2f2f2;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.4);
    }
    .dark a.button:hover {
        background-color: #2d2d2d;
        border-color: #f7a83a;
        color: #f7a83a;
    }
    .dark a.button:active {
        background-color: #363636;
        border-color: #d98d1f;
        color: #d98d1f;
    }

    .dark code,
    .dark .code,
    .dark pre {
        background-color: #242424;
        border-color: #3d3d3d;
        color: #f2f2f2;
    }
    .dark span.keyboard {
        background-color: #242424;
        border-color: #4a4a4a;
        color: #f2f2f2;
    }

    .dark .tipbox {
        background-color: #0f2437;
        border-color: #16436b;
        border-left-color: #479ef5;
    }
    .dark .noticebox {
        background-color: #0e2812;
        border-color: #1a4a22;
        border-left-color: #54b054;
    }
    .dark .warningbox {
        background-color: #332b0a;
        border-color: #5c4d13;
        border-left-color: #e8c000;
    }
    .dark .infobox {
        background-color: #242424;
        border-color: #3d3d3d;
        color: #c7c7c7;
    }

    .dark .required {
        color: #ff99a4;
    }
    .dark .optional {
        color: #6cb8f6;
    }
    .dark .deprecated {
        color: #c7c7c7;
    }

    .dark table:not(.layout) tr th {
        color: #c7c7c7;
        border-bottom-color: #4a4a4a;
    }
    .dark table:not(.layout) tr td {
        border-bottom-color: #3d3d3d;
    }
    .dark table:not(.layout) tbody tr:hover td {
        background-color: #2d2d2d;
    }

    .dark #breadcrumb {
        background-color: #242424;
        border-bottom-color: #3d3d3d;
        color: #c7c7c7;
    }
    .dark #breadcrumb a, .dark #breadcrumb a:link, .dark #breadcrumb a:visited {
        color: #c7c7c7;
    }
    .dark #breadcrumb a:hover {
        color: #f7a83a;
    }
    .dark #footer {
        border-top-color: #3d3d3d;
        color: #c7c7c7;
    }
}
