/* Shared navigation; content keeps each section's own typeface and palette. */
:root {
    --site-title-size: clamp(2rem, 4.5vw, 3rem);
    --site-ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.site-chrome {
    box-sizing: border-box;
    position: sticky;
    top: 0;
    background: var(--page, var(--bbs-bg, var(--background, Canvas)));
    z-index: 40;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 72px;
    padding: 12px clamp(20px, 3.5vw, 48px);
    gap: 16px;
    color: var(--ink, var(--bbs-text, var(--text-primary, CanvasText)));
    font: 13px/1.4 var(--site-ui-font);
}
.site-chrome .site-return {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: inherit;
    text-decoration: none;
}
.site-return:hover { text-decoration: underline; text-underline-offset: 4px; }
.site-home-label { opacity: .65; }
.site-chrome .language-picker,
.site-chrome .site-language-picker {
    position: relative;
    inset: auto;
    margin-left: auto;
    z-index: 50;
    font: inherit;
}
.site-chrome .language-toggle,
.site-chrome .site-language-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    width: auto;
    min-height: 44px;
    padding: 0 10px;
    border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
    border-radius: 8px;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: normal;
    box-shadow: none;
    backdrop-filter: none;
    cursor: pointer;
}
.site-chrome .language-menu,
.site-chrome .site-language-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    width: 132px;
    padding: 5px;
    border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
    border-radius: 8px;
    background: var(--page, var(--bbs-panel, var(--surface, Canvas)));
    box-shadow: 0 6px 24px #00000012;
}
.site-chrome [hidden] { display: none !important; }
.site-chrome .language-menu a,
.site-chrome .language-menu button,
.site-chrome .site-language-menu button {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 40px;
    padding: 10px;
    border: 0;
    border-radius: 4px;
    color: inherit;
    background: transparent;
    font: 13px/1.4 var(--site-ui-font);
    text-decoration: none;
    text-align: left;
    cursor: pointer;
}
.site-chrome button:hover,
.site-chrome .language-menu a:hover { background: color-mix(in srgb, currentColor 7%, transparent); }
.site-chrome :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
body .site-title { padding-right: 0; }
body .essay-title,
body .belief-title,
body .bbs-thread__title h1,
body .board-intro h1,
body .page-title {
    font-size: var(--site-title-size);
    line-height: 1.2;
    letter-spacing: -.025em;
}
body .essay-page,
body .belief-page { padding-top: clamp(24px, 4vw, 48px); }
body .board-header { justify-content: flex-end; min-height: 40px; }
body:has(.site-chrome) .sidebar { top: 72px; }
body:has(.site-chrome) .app,
body:has(.site-chrome) .main { min-height: calc(100dvh - 72px); }
body:has(.site-chrome) > #main-content { padding-top: 32px; }
@media print { .site-chrome { display: none; } }

body:has(.site-chrome) .topbar { top: 72px; }
