/* Shared header component. Page stylesheets must not define its selectors. */
:root {
    --public-header-height: 86px;
    --public-header-height-mobile: 72px;
    --public-content-gutter: 24px;
    --public-content-gutter-mobile: 16px;
    --public-header-bg: #0a1221;
}
body .site-nav,
body.dashboard-page > .site-nav {
    position: fixed !important;
    inset: 0 0 auto !important;
    z-index: 120 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    height: 86px !important;
    margin-inline: auto !important;
    padding: 8px 24px !important;
    background: var(--public-header-bg) !important;
    transform: none !important;
    overflow: visible !important;
}
/* The header itself spans the viewport; only its controls align to the canvas. */
body .site-nav .site-nav__brand-group {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    pointer-events: none !important;
}
body .site-nav .brand-public {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    width: 250px !important;
    min-width: 0 !important;
    height: 70px !important;
    margin: 0 !important;
    text-decoration: none;
    transform: none !important;
    pointer-events: auto !important;
}
body .site-nav .brand-public__image {
    display: block !important;
    width: 250px !important;
    max-width: 250px !important;
    height: 68px !important;
    max-height: 68px !important;
    object-fit: contain !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
}
body .site-nav::after {
    content: "";
    position: absolute;
    right: 0; bottom: -1px; left: 0;
    width: 100%; height: 3px;
    background: url("/assets/resources/line.webp") center / auto 100% repeat-x;
    transform: none;
    pointer-events: none;
}
body .site-nav .public-edge-actions--language-header {
    position: absolute !important;
    inset: 50% max(24px, calc((100% - 1366px) / 2 + 24px)) auto auto !important;
    z-index: 2 !important;
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    pointer-events: auto !important;
}
body .site-nav .site-nav__actions {
    position: absolute !important;
    inset: 50% max(24px, calc((100% - 1366px) / 2 + 24px)) auto auto !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    pointer-events: auto !important;
}
body .site-nav .site-nav__actions .public-edge-actions--language-header { position: static !important; inset: auto !important; transform: none !important; }
body .site-nav .site-nav__download {
    display: grid !important;
    width: 50px !important;
    height: 50px !important;
    place-items: center !important;
    border: 1px solid #d8b66b !important;
    border-radius: 50% !important;
    background: linear-gradient(145deg, #29303a, #080e19) !important;
    box-shadow: 0 0 15px rgba(216, 182, 107, .25) !important;
    color: #edd18c !important;
    text-decoration: none !important;
    transition: border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}
body .site-nav .site-nav__download svg { width: 26px; height: 26px; }
body .site-nav .site-nav__download:hover,
body .site-nav .site-nav__download:focus-visible,
body .site-nav .site-nav__download.is-active { border-color: #f5d897 !important; color: #fff4d7 !important; outline: none; transform: translateY(-1px); box-shadow: 0 0 18px rgba(216, 182, 107, .38) !important; }
body .site-nav .public-edge-language { position: relative !important; z-index: 150 !important; overflow: visible !important; }
body .site-nav .public-edge-language summary {
    display: grid !important;
    width: 50px !important;
    height: 50px !important;
    place-items: center !important;
    border: 1px solid #a7864c !important;
    border-radius: 50% !important;
    background: linear-gradient(145deg, #27303c, #0a111e 65%) !important;
    color: #edd18c !important;
    cursor: pointer;
    list-style: none;
}
body .site-nav .public-edge-language summary::-webkit-details-marker { display: none; }
body .site-nav .public-edge-language:not([open]) .public-edge-language__menu { display: none !important; }
body .site-nav .public-edge-language__menu {
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    display: block !important;
    width: 50px !important;
    height: 50px !important;
    pointer-events: none;
}
body .site-nav .public-edge-language__menu a {
    position: absolute !important;
    top: 3px;
    left: 3px;
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    place-items: center !important;
    border: 1px solid #b39254 !important;
    border-radius: 50% !important;
    background: #0b1524 !important;
    color: #f4dfac !important;
    text-decoration: none !important;
    font: 600 12px/1 serif !important;
    pointer-events: auto;
}
@media (max-width: 900px) {
    :root { --public-header-height: 72px; }
    body .site-nav,
    body.dashboard-page > .site-nav { height: 72px !important; padding: 6px 16px !important; }
    body .site-nav .brand-public { width: 170px !important; height: 56px !important; }
    body .site-nav .brand-public__image { width: 170px !important; max-width: 170px !important; height: 58px !important; max-height: 58px !important; }
    body .site-nav .site-nav__actions { right: 16px !important; }
}
@media (max-width: 380px) {
    body .site-nav .brand-public { width: 110px !important; }
    body .site-nav .brand-public__image { width: 110px !important; max-width: 110px !important; }
    body .site-nav .site-nav__actions { gap: 6px !important; }
    body .site-nav .site-nav__download,
    body .site-nav .site-nav__actions .public-edge-language summary { width: 44px !important; height: 44px !important; }
    body .site-nav .site-nav__download svg { width: 23px; height: 23px; }
}