/* Shared navigation is isolated from the calculator and printed notebook styles. */
.site-header, .site-header * { box-sizing: border-box; }
.site-header { position: relative; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 12px 24px; border-bottom: 1px solid #34343a; background: #111216; color: #f3f1ed; font: 15px/1.4 system-ui, -apple-system, Segoe UI, sans-serif; }
.site-header a, .site-header a:visited { color: inherit; margin: 0; text-decoration: none; }
.site-header .site-brand { display: inline-flex; align-items: center; min-height: 44px; font-weight: 650; white-space: nowrap; }
.site-menu { min-width: 0; }
.site-menu > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 10px 14px; border: 1px solid #67636b; border-radius: 6px; cursor: pointer; list-style: none; }
.site-menu > summary::-webkit-details-marker { display: none; }
.site-header[data-enhanced] .site-menu > summary { display: none; }
.site-menu-icon::before { content: '+'; font-size: 24px; line-height: 1; }
.site-menu[open] .site-menu-icon::before { content: '−'; }
.site-navigation, .site-primary-links, .site-account-links { display: flex; align-items: center; gap: 6px; }
.site-account-links { border-left: 1px solid #44444b; margin-left: 10px; padding-left: 10px; }
.site-navigation a, .site-navigation button { display: inline-flex; align-items: center; justify-content: flex-start; gap: 6px; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 6px; background: transparent; color: inherit; font: inherit; white-space: nowrap; cursor: pointer; margin: 0; text-align: left; }
.site-navigation a:hover, .site-navigation button:hover { background: #292a31; }
.site-navigation [aria-current="page"] { background: #353038; box-shadow: inset 0 -2px #dfa0a7; }
.site-navigation small { color: #c1bac1; font-size: 11px; }
.site-navigation form { margin: 0; }
.site-header :is(a, button, summary):focus-visible { outline: 3px solid #f0c48b; outline-offset: 2px; }
.site-skip-link { position: absolute; z-index: 50; left: 16px; top: -100px; padding: 12px 16px; background: #fff; color: #111; font: 16px/1.4 system-ui, sans-serif; }
.site-skip-link:focus { top: 8px; }
@media (max-width: 1120px) {
  .site-header { padding: 10px 16px; gap: 12px; flex-wrap: wrap; }
  .site-menu { flex: 1 1 100%; }
  .site-header[data-enhanced] .site-menu > summary { display: flex; }
  .site-navigation, .site-primary-links, .site-account-links { flex-direction: column; align-items: stretch; gap: 4px; }
  .site-navigation { padding: 12px 0 0; }
  .site-navigation a, .site-navigation button { width: 100%; min-height: 48px; white-space: normal; }
  .site-account-links { border-left: 0; border-top: 1px solid #44444b; padding: 8px 0 0; margin: 8px 0 0; }
  .site-header[data-enhanced] { flex-wrap: nowrap; }
  .site-header[data-enhanced] .site-menu { flex: 0 0 auto; }
  .site-header[data-enhanced] .site-navigation { position: absolute; left: 12px; right: 12px; top: calc(100% - 1px); max-height: calc(100dvh - 85px); overflow-y: auto; overscroll-behavior: contain; padding: 12px; background: #111216; border: 1px solid #55505b; border-radius: 0 0 10px 10px; box-shadow: 0 12px 24px #0005; }
}
@media (max-width: 360px) { .site-header { padding-inline: 10px; gap: 8px; font-size: 14px; } .site-menu > summary { padding-inline: 10px; } }
@media print { .site-header, .site-skip-link { display: none !important; } }
