.global-header #main-navigation{align-items:center}.nav-contact{position:relative}.nav-contact summary{list-style:none;cursor:pointer;padding:10px 16px;border:1px solid #6c829f;border-radius:5px;color:inherit;font-size:13px;white-space:nowrap}.nav-contact summary::-webkit-details-marker,.article-contents summary::-webkit-details-marker{display:none}.contact-short{display:none}.nav-contact .contact-options{position:absolute;right:0;top:calc(100% + 10px);min-width:240px;background:#151a22;border:1px solid #465467;box-shadow:0 12px 30px #0005;border-radius:8px;padding:8px}.global-header .nav-contact .contact-options a{display:block;padding:13px;color:#eef3fa;font-size:13px}.nav-contact .contact-options a:hover{background:#283345}.nav-contact summary:focus-visible,.article-contents summary:focus-visible{outline:2px solid #8fbeff;outline-offset:4px}.article-contents summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:3px 0;text-transform:uppercase}.article-contents summary:after{content:'+';margin-left:20px}.article-contents[open] summary:after{content:'−'}.article-contents .toc{margin-top:16px!important}.site-layout:has(article) .layout aside{align-self:start}.nav-contact:not([open]) .contact-options{display:none}.site-layout:has(article) .article-contents:not([open]) .toc{display:none}@media(max-width:1100px){.contact-long{display:none}.contact-short{display:inline}}@media(max-width:800px){.global-header #main-navigation{align-items:stretch}.nav-contact{margin-top:8px}.nav-contact summary{display:inline-flex}.nav-contact .contact-options{position:static;margin-top:8px;min-width:0}.site-layout:has(article) .layout aside{padding:17px 20px}}
.global-header .nav-contact .contact-options a{display:flex;align-items:center;gap:12px}.contact-icon{width:19px;height:19px;flex:0 0 19px}

/* Dark reading navigation, with a compact collapsed state. */
.site-layout:has(article) .layout aside{background:#202329;border:1px solid #414751;color:#f0f2f5;border-radius:10px;box-shadow:0 8px 24px #0002;padding:16px}.site-layout:has(article) .article-contents summary{color:#e3e8ef;font-size:12px;letter-spacing:.05em;margin:0}.site-layout:has(article) .toc a{color:#bbc3ce;font-size:14px;padding:11px 10px;border-radius:5px;white-space:normal;line-height:1.5}.site-layout:has(article) .toc a:hover,.site-layout:has(article) .toc a[aria-current]{color:white;background:#363d48}.site-layout:has(article) .toc-progress a{background:#616975;width:18px;height:3px;border-radius:2px}.site-layout:has(article) .toc-progress a[aria-current]{background:#1e2939;width:24px}.site-layout:has(article) .layout aside:not(:has(.article-contents[open])){width:110px;justify-self:start}.site-layout:has(article) .toclabel{color:#e3e8ef}@media(max-width:900px){.site-layout:has(article) .layout aside:not(:has(.article-contents[open])){width:auto;justify-self:stretch}}

/* Minimal reading rail, inspired by the supplied reference. */
.site-layout:has(article) .layout aside,.site-layout:has(article) .layout aside:not(:has(.article-contents[open])){width:30px;padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;justify-self:start}.site-layout:has(article) .article-contents{position:relative}.site-layout:has(article) .article-contents summary{width:30px;padding:12px 10px;box-sizing:border-box}.site-layout:has(article) .article-contents summary:after{display:none}.reading-rail{display:flex;flex-direction:column;gap:7px}.reading-rail i{display:block;width:6px;height:2px;background:#62666b;opacity:.65}.reading-rail i.is-read{background:#242b35;opacity:1}.reading-rail i.is-current{width:10px;background:#151c25;opacity:1}.site-layout:has(article) .article-contents .toc{position:absolute;left:28px;top:0;margin:0!important;width:260px;background:#202329;border:1px solid #3a414b;border-radius:8px;padding:12px;box-shadow:0 8px 22px #0003;z-index:50}.site-layout:has(article) .toc-progress{display:none}.site-layout:has(article) .toc a{font-size:12px;padding:9px 8px}@media(max-width:900px){.site-layout:has(article) .layout aside{position:sticky;top:95px;z-index:30;height:0}.reading-rail{gap:5px}.site-layout:has(article) .article-contents .toc{width:min(250px,calc(100vw - 100px))}}

.global-header nav .home-icon{display:flex;align-items:center;justify-content:center;min-width:28px}.home-icon svg{display:block}

article [id]{scroll-margin-top:130px}.article-contents .toc{max-height:65vh;overflow:auto}

/* Clear hover, keyboard and selected states for the shared header. */
.global-header{--nav-active-blue:#64a8ff}
.global-header #main-navigation>a{transition:color .16s ease}
.global-header #main-navigation>a:is(:hover,:focus-visible,:active,[aria-current="page"]),
.global-header #main-navigation>a:is(:hover,:focus-visible,:active,[aria-current="page"]) span{color:var(--nav-active-blue)}
.global-header .nav-contact summary,.global-header .menu-toggle{transition:color .16s ease,background-color .16s ease,border-color .16s ease}
.global-header .nav-contact summary:is(:hover,:focus-visible,:active),
.global-header .nav-contact[open]>summary,
.global-header .menu-toggle:is(:hover,:focus-visible,[aria-expanded="true"]){background:var(--nav-active-blue);border-color:var(--nav-active-blue);color:#0b0d10}
.global-header .nav-contact .contact-options a:is(:hover,:focus-visible,:active){color:var(--nav-active-blue);background:#283345}
@media(prefers-reduced-motion:reduce){.global-header #main-navigation>a,.global-header .nav-contact summary,.global-header .menu-toggle{transition:none}}


