/* CSS for UI elements (a.k.a. chrome) */ @import "variables.css"; html { background-color: var(--bg); scrollbar-color: var(--scrollbar) var(--bg);}#searchresults a,.content a:link,a:visited,a > .hljs { color: var(--links);} .icon-logo-img { display: block;} .icon-button { position: relative; height: 28px; width: 28px; z-index: 10; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: color 0.5s; border: 0; background-color: transparent; border-radius: 4px; color: var(--icons);} .icon-button:hover { color: var(--icons-hover); background-color: var(--icon-btn-bg-hover);} .ib-hidden-desktop { display: none;} .header-bar { position: sticky; top: 0; z-index: 100; padding: 12px 16px; background-color: var(--sidebar-bg); border-bottom: 1px solid var(--divider); display: flex; align-items: center; justify-content: space-between; flex-shrink: 0;} .header-bar .left-container { width: 160px; display: flex; align-items: center; gap: 8px;} .header-bar .right-container { width: 160px; display: flex; align-items: center; gap: 4px;} .logo-nav { display: flex; align-items: center; justify-content: center; filter: var(--logo-brightness);} .nav-chapters { font-size: 2.5em; text-align: center; text-decoration: none; position: fixed; top: 0; bottom: 0; margin: 0; max-width: 150px; min-width: 90px; display: flex; justify-content: center; align-content: center; flex-direction: column; transition: color 0.5s, background-color 0.5s;} .nav-chapters:hover { text-decoration: none; background-color: var(--theme-hover); transition: background-color 0.15s, color 0.15s;} .nav-wrapper { margin-block-start: 50px; display: none;} .footer-buttons { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 24px 0;} .footer-button { width: 100%; padding: 12px; display: flex; align-items: center; justify-content: center; gap: 0.5rem; background-color: var(--footer-btn-bg); border: 1px solid var(--footer-btn-border); border-radius: 0.5rem; font-size: 0.9em;} .footer-button:hover { background-color: var(--footer-btn-bg-hover); border-color: var(--footer-btn-border-hover);} .footer-button i { text-decoration: underline !important; text-decoration-color: transparent !important;} .footer { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0.5rem; padding: 24px 0; border-top: 1px dashed var(--border-footer);} .footer-link { font-size: 1.25rem; color: var(--links); text-decoration: underline; text-decoration-color: var(--link-line-decoration); text-wrap-mode: nowrap; :hover { text-decoration-color: var(--link-line-decoration-hover); }} .footer-separator { color: var(--border-light); font-size: 0.8em;} .footer-logo { height: 16px; border-radius: 0 !important; border: none !important; background: transparent !important;} .mobile-nav-chapters { font-size: 2.5em; text-align: center; text-decoration: none; width: 90px; border-radius: 5px; background-color: var(--sidebar-bg);} /* Only Firefox supports flow-relative values */.previous { float: left;}[dir="rtl"] .previous { float: right;} /* Only Firefox supports flow-relative values */.next { float: right; right: var(--page-padding);}[dir="rtl"] .next { float: left; right: unset; left: var(--page-padding);} /* Use the correct buttons for RTL layouts*/[dir="rtl"] .previous i.fa-angle-left:before { content: "\f105";}[dir="rtl"] .next i.fa-angle-right:before { content: "\f104";} @media only screen and (max-width: 1080px) { .nav-wide-wrapper { display: none; } .nav-wrapper { display: block; }} /* sidebar-visible */@media only screen and (max-width: 1380px) { #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wide-wrapper { display: none; } #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wrapper { display: block; }} /* Inline code */ :not(pre) > .hljs { display: inline; padding: 0.1em 0.3em; border-radius: 3px;} :not(pre):not(a) > .hljs { color: var(--inline-code-color); overflow-x: initial;} a:hover > .hljs { text-decoration: underline;} pre { background-color: var(--pre-bg); border: 1px solid; border-color: var(--pre-border); box-shadow: var(--pre-shadow) 4px 4px 0px 0px; position: relative;}pre > .hljs { background-color: initial;}pre > .buttons { position: absolute; z-index: 100; right: 0px; top: 2px; margin: 0px; padding: 2px 0px; color: var(--sidebar-fg); cursor: pointer; visibility: hidden; opacity: 0; transition: visibility 0.1s linear, opacity 0.1s linear;}pre:hover > .buttons { visibility: visible; opacity: 1;}pre > .buttons :hover { color: var(--sidebar-active); border-color: var(--border-hover); background-color: var(--theme-hover);}pre > .buttons i { margin-inline-start: 8px;}pre > .buttons button { cursor: inherit; margin: 0 4px; height: 26px; width: 26px; font-size: 14px; border-style: solid; border-width: 1px; border-radius: 4px; border-color: var(--border); background-color: var(--popover-bg); transition: 100ms; transition-property: color, border-color, background-color; color: var(--icons);} pre > .playground { border: none; margin: 0; box-shadow: none; /* HACK: This serves to visually hide nested <pre> elements in "playground" code snippets. A more robust solution would involve modifying the rendered HTML. */} @media (pointer: coarse) { pre > .buttons button { /* On mobile, make it easier to tap buttons. */ padding: 0.3rem 1rem; } .sidebar-resize-indicator { /* Hide resize indicator on devices with limited accuracy */ display: none; }}pre > code { display: block; padding: 1rem;} /* TODO: ACE editors overlap their buttons because ACE does absolute positioning within the code block which breaks padding. The only solution I can think of is to move the padding to the outer pre tag (or insert a div wrapper), but that would require fixing a whole bunch of CSS rules.*/.hljs.ace_editor { padding: 0rem 0rem;} pre > .result { margin-block-start: 10px;} /* Search */ #searchresults a { text-decoration: none;} mark { border-radius: 2px; padding-block-start: 0; padding-block-end: 1px; padding-inline-start: 3px; padding-inline-end: 3px; margin-block-start: 0; margin-block-end: -1px; margin-inline-start: -3px; margin-inline-end: -3px; background-color: var(--search-mark-bg); transition: background-color 300ms linear; cursor: pointer;} mark.fade-out { background-color: rgba(0, 0, 0, 0) !important; cursor: auto;} .searchbar-outer { margin-inline-start: auto; margin-inline-end: auto; width: 100%; max-width: var(--content-max-width); box-sizing: border-box; padding: 16px;} #searchbar { width: 100%; margin-block-start: 5px; margin-block-end: 0; margin-inline-start: auto; margin-inline-end: auto; padding: 10px 16px; transition: box-shadow 300ms ease-in-out; border: 1px solid var(--searchbar-border-color); border-radius: 3px; background-color: var(--searchbar-bg); color: var(--searchbar-fg);}#searchbar:focus,#searchbar.active { box-shadow: 0 0 3px var(--searchbar-shadow-color); outline: none; border-color: var(--search-mark-bg);} .searchresults-header { font-weight: bold; font-size: 1em; padding-block-start: 0; padding-block-end: 0; color: var(--searchresults-header-fg);} ul#searchresults { list-style: none; padding-inline-start: 0; margin-block-end: 0;}ul#searchresults li { margin: 10px 0px; padding: 2px; border-radius: 2px; scroll-margin-block-end: 10px;}ul#searchresults li.focus { background-color: var(--searchresults-li-bg);}ul#searchresults span.teaser { display: block; font-size: 0.8em; margin-block-start: 5px; margin-inline-start: 4px; padding-inline-start: 2ch; border-left: 1px solid var(--divider);}ul#searchresults span.teaser em { font-weight: bold; color: var(--full-contrast); background: var(--code-bg);} /* Sidebar */ .sidebar { position: relative; width: var(--sidebar-width); flex-shrink: 0; display: flex; flex-direction: column; font-size: 0.875em; box-sizing: border-box; -webkit-overflow-scrolling: touch; overscroll-behavior-y: none; overflow: hidden; background-color: var(--sidebar-bg); color: var(--sidebar-fg); border-right: 1px solid var(--divider);} [dir="rtl"] .sidebar { left: unset; right: 0;}.sidebar-resizing { -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none;}.no-js .sidebar,.js:not(.sidebar-resizing) .sidebar { transition: transform 0.3s; /* Animation: slide away */}.sidebar code { line-height: 2em;}.sidebar .sidebar-scrollbox { flex: 1; overflow-y: auto; min-height: 0;} .sidebar .sidebar-resize-handle { position: absolute; cursor: col-resize; width: 0; right: calc(var(--sidebar-resize-indicator-width) * -1); top: 0; bottom: 0; display: flex; align-items: center;} .sidebar-resize-handle .sidebar-resize-indicator { width: 100%; height: 12px; background-color: var(--icons); margin-inline-start: var(--sidebar-resize-indicator-space);} [dir="rtl"] .sidebar .sidebar-resize-handle { left: calc(var(--sidebar-resize-indicator-width) * -1); right: unset;}.js .sidebar .sidebar-resize-handle { cursor: col-resize; width: calc( var(--sidebar-resize-indicator-width) - var(--sidebar-resize-indicator-space)Lines 1–500 of 867. Load more
/* CSS for UI elements (a.k.a. chrome) */ @import "variables.css"; html { background-color: var(--bg); scrollbar-color: var(--scrollbar) var(--bg); } #searchresults a, .content a:link, a:visited, a > .hljs { color: var(--links); } .icon-logo-img { display: block; } .icon-button { position: relative; height: 28px; width: 28px; z-index: 10; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: color 0.5s; border: 0; background-color: transparent; border-radius: 4px; color: var(--icons); } .icon-button:hover { color: var(--icons-hover); background-color: var(--icon-btn-bg-hover); } .ib-hidden-desktop { display: none; } .header-bar { position: sticky; top: 0; z-index: 100; padding: 12px 16px; background-color: var(--sidebar-bg); border-bottom: 1px solid var(--divider); display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; } .header-bar .left-container { width: 160px; display: flex; align-items: center; gap: 8px; } .header-bar .right-container { width: 160px; display: flex; align-items: center; gap: 4px; } .logo-nav { display: flex; align-items: center; justify-content: center; filter: var(--logo-brightness); } .nav-chapters { font-size: 2.5em; text-align: center; text-decoration: none; position: fixed; top: 0; bottom: 0; margin: 0; max-width: 150px; min-width: 90px; display: flex; justify-content: center; align-content: center; flex-direction: column; transition: color 0.5s, background-color 0.5s; } .nav-chapters:hover { text-decoration: none; background-color: var(--theme-hover); transition: background-color 0.15s, color 0.15s; } .nav-wrapper { margin-block-start: 50px; display: none; } .footer-buttons { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 24px 0; } .footer-button { width: 100%; padding: 12px; display: flex; align-items: center; justify-content: center; gap: 0.5rem; background-color: var(--footer-btn-bg); border: 1px solid var(--footer-btn-border); border-radius: 0.5rem; font-size: 0.9em; } .footer-button:hover { background-color: var(--footer-btn-bg-hover); border-color: var(--footer-btn-border-hover); } .footer-button i { text-decoration: underline !important; text-decoration-color: transparent !important; } .footer { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0.5rem; padding: 24px 0; border-top: 1px dashed var(--border-footer); } .footer-link { font-size: 1.25rem; color: var(--links); text-decoration: underline; text-decoration-color: var(--link-line-decoration); text-wrap-mode: nowrap; :hover { text-decoration-color: var(--link-line-decoration-hover); } } .footer-separator { color: var(--border-light); font-size: 0.8em; } .footer-logo { height: 16px; border-radius: 0 !important; border: none !important; background: transparent !important; } .mobile-nav-chapters { font-size: 2.5em; text-align: center; text-decoration: none; width: 90px; border-radius: 5px; background-color: var(--sidebar-bg); } /* Only Firefox supports flow-relative values */ .previous { float: left; } [dir="rtl"] .previous { float: right; } /* Only Firefox supports flow-relative values */ .next { float: right; right: var(--page-padding); } [dir="rtl"] .next { float: left; right: unset; left: var(--page-padding); } /* Use the correct buttons for RTL layouts*/ [dir="rtl"] .previous i.fa-angle-left:before { content: "\f105"; } [dir="rtl"] .next i.fa-angle-right:before { content: "\f104"; } @media only screen and (max-width: 1080px) { .nav-wide-wrapper { display: none; } .nav-wrapper { display: block; } } /* sidebar-visible */ @media only screen and (max-width: 1380px) { #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wide-wrapper { display: none; } #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wrapper { display: block; } } /* Inline code */ :not(pre) > .hljs { display: inline; padding: 0.1em 0.3em; border-radius: 3px; } :not(pre):not(a) > .hljs { color: var(--inline-code-color); overflow-x: initial; } a:hover > .hljs { text-decoration: underline; } pre { background-color: var(--pre-bg); border: 1px solid; border-color: var(--pre-border); box-shadow: var(--pre-shadow) 4px 4px 0px 0px; position: relative; } pre > .hljs { background-color: initial; } pre > .buttons { position: absolute; z-index: 100; right: 0px; top: 2px; margin: 0px; padding: 2px 0px; color: var(--sidebar-fg); cursor: pointer; visibility: hidden; opacity: 0; transition: visibility 0.1s linear, opacity 0.1s linear; } pre:hover > .buttons { visibility: visible; opacity: 1; } pre > .buttons :hover { color: var(--sidebar-active); border-color: var(--border-hover); background-color: var(--theme-hover); } pre > .buttons i { margin-inline-start: 8px; } pre > .buttons button { cursor: inherit; margin: 0 4px; height: 26px; width: 26px; font-size: 14px; border-style: solid; border-width: 1px; border-radius: 4px; border-color: var(--border); background-color: var(--popover-bg); transition: 100ms; transition-property: color, border-color, background-color; color: var(--icons); } pre > .playground { border: none; margin: 0; box-shadow: none; /* HACK: This serves to visually hide nested <pre> elements in "playground" code snippets. A more robust solution would involve modifying the rendered HTML. */ } @media (pointer: coarse) { pre > .buttons button { /* On mobile, make it easier to tap buttons. */ padding: 0.3rem 1rem; } .sidebar-resize-indicator { /* Hide resize indicator on devices with limited accuracy */ display: none; } } pre > code { display: block; padding: 1rem; } /* TODO: ACE editors overlap their buttons because ACE does absolute positioning within the code block which breaks padding. The only solution I can think of is to move the padding to the outer pre tag (or insert a div wrapper), but that would require fixing a whole bunch of CSS rules. */ .hljs.ace_editor { padding: 0rem 0rem; } pre > .result { margin-block-start: 10px; } /* Search */ #searchresults a { text-decoration: none; } mark { border-radius: 2px; padding-block-start: 0; padding-block-end: 1px; padding-inline-start: 3px; padding-inline-end: 3px; margin-block-start: 0; margin-block-end: -1px; margin-inline-start: -3px; margin-inline-end: -3px; background-color: var(--search-mark-bg); transition: background-color 300ms linear; cursor: pointer; } mark.fade-out { background-color: rgba(0, 0, 0, 0) !important; cursor: auto; } .searchbar-outer { margin-inline-start: auto; margin-inline-end: auto; width: 100%; max-width: var(--content-max-width); box-sizing: border-box; padding: 16px; } #searchbar { width: 100%; margin-block-start: 5px; margin-block-end: 0; margin-inline-start: auto; margin-inline-end: auto; padding: 10px 16px; transition: box-shadow 300ms ease-in-out; border: 1px solid var(--searchbar-border-color); border-radius: 3px; background-color: var(--searchbar-bg); color: var(--searchbar-fg); } #searchbar:focus, #searchbar.active { box-shadow: 0 0 3px var(--searchbar-shadow-color); outline: none; border-color: var(--search-mark-bg); } .searchresults-header { font-weight: bold; font-size: 1em; padding-block-start: 0; padding-block-end: 0; color: var(--searchresults-header-fg); } ul#searchresults { list-style: none; padding-inline-start: 0; margin-block-end: 0; } ul#searchresults li { margin: 10px 0px; padding: 2px; border-radius: 2px; scroll-margin-block-end: 10px; } ul#searchresults li.focus { background-color: var(--searchresults-li-bg); } ul#searchresults span.teaser { display: block; font-size: 0.8em; margin-block-start: 5px; margin-inline-start: 4px; padding-inline-start: 2ch; border-left: 1px solid var(--divider); } ul#searchresults span.teaser em { font-weight: bold; color: var(--full-contrast); background: var(--code-bg); } /* Sidebar */ .sidebar { position: relative; width: var(--sidebar-width); flex-shrink: 0; display: flex; flex-direction: column; font-size: 0.875em; box-sizing: border-box; -webkit-overflow-scrolling: touch; overscroll-behavior-y: none; overflow: hidden; background-color: var(--sidebar-bg); color: var(--sidebar-fg); border-right: 1px solid var(--divider); } [dir="rtl"] .sidebar { left: unset; right: 0; } .sidebar-resizing { -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; } .no-js .sidebar, .js:not(.sidebar-resizing) .sidebar { transition: transform 0.3s; /* Animation: slide away */ } .sidebar code { line-height: 2em; } .sidebar .sidebar-scrollbox { flex: 1; overflow-y: auto; min-height: 0; } .sidebar .sidebar-resize-handle { position: absolute; cursor: col-resize; width: 0; right: calc(var(--sidebar-resize-indicator-width) * -1); top: 0; bottom: 0; display: flex; align-items: center; } .sidebar-resize-handle .sidebar-resize-indicator { width: 100%; height: 12px; background-color: var(--icons); margin-inline-start: var(--sidebar-resize-indicator-space); } [dir="rtl"] .sidebar .sidebar-resize-handle { left: calc(var(--sidebar-resize-indicator-width) * -1); right: unset; } .js .sidebar .sidebar-resize-handle { cursor: col-resize; width: calc( var(--sidebar-resize-indicator-width) - var(--sidebar-resize-indicator-space)