/* One utility layer around each exhibit's own visual world. No runtime needed. */
.exhibit-nav {
  position: fixed;
  inset: 0 0 auto;
  z-index: 150;
  height: 52px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 max(12px, env(safe-area-inset-left));
  border-bottom: 1px solid #424840;
  background: #121613;
  color: #e4eadf;
  font: 14px/1.3 system-ui, sans-serif;
  text-align: left;
  box-sizing: border-box;
}
.exhibit-nav *, .exhibit-nav *::before, .exhibit-nav *::after { box-sizing: border-box; }
.exhibit-nav a, .exhibit-nav summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  color: #e4eadf;
  font: inherit;
  text-decoration: none;
  border: 0;
  border-radius: 3px;
  cursor: pointer;
  touch-action: manipulation;
}
.exhibit-nav .exhibit-brand { font-weight: 700; letter-spacing: .02em; padding-left: 0; }
.exhibit-nav a:hover, .exhibit-nav summary:hover { background: #263128; color: white; }
.exhibit-nav a:focus-visible, .exhibit-nav summary:focus-visible {
  outline: 2px solid #d4f3b0;
  outline-offset: -2px;
}
.exhibit-nav [aria-current="page"] { color: #d4f3b0; text-decoration: underline; text-underline-offset: 5px; }
.exhibit-nav details { position: relative; }
.exhibit-nav summary { list-style: none; gap: 8px; }
.exhibit-nav summary::-webkit-details-marker { display: none; }
.exhibit-nav summary::after { content: '▾'; }
.exhibit-nav details[open] summary { background: #263128; }
.exhibit-nav .exhibit-menu {
  position: absolute;
  top: 48px;
  left: 0;
  width: 280px;
  max-height: calc(100dvh - 72px);
  overflow: auto;
  padding: 8px;
  border: 1px solid #596252;
  border-radius: 0 0 6px 6px;
  background: #121613;
  box-shadow: 0 10px 30px #0008;
  overscroll-behavior: contain;
}
.exhibit-nav .exhibit-menu-label { display: block; padding: 12px 12px 4px; color: #aab7a3; font: 11px/1.3 system-ui; text-transform: uppercase; letter-spacing: .1em; }
.exhibit-nav .exhibit-place { margin-left: auto; color: #aab7a3; font-size: 12px; }
body.exhibit-page { padding-top: 72px; }
body.exhibit-terminal { padding-top: 0; }
body.exhibit-terminal .desktop-environment { --viewport-scaled-bottom: 370px; }
body.exhibit-terminal .exhibit-nav { padding-left: 62px; }
body.exhibit-calculator .device-header { position: static; background: none; border: 0; justify-content: center; gap: 16px; flex-wrap: wrap; padding: 0; }
body.exhibit-calculator .standalone-device { min-height: calc(100svh - 72px); padding-top: 12px; }
body.exhibit-directory .search-bar { position: static; }
body.exhibit-directory .print-btn { position: static; display: block; margin: 0 auto 12px; }
.xray-explanation { margin: 16px 0; }
.xray-explanation summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: #c5efcb; }
.xray-explanation summary::before { content: '+ '; margin-right: 8px; }
.xray-explanation[open] summary::before { content: '− '; }
.exhibit-lab .card[hidden] { display: none; }
.exhibit-lab .xray-controls button, .exhibit-lab .xray-controls select { min-height: 44px; }
@media (max-width: 600px) {
  .exhibit-nav { gap: 2px; padding: 0 10px; }
  .exhibit-nav a, .exhibit-nav summary { padding: 8px 10px; }
  .exhibit-nav .exhibit-place { display: none; }
  .exhibit-nav .exhibit-menu { position: fixed; top: 52px; left: 10px; right: 10px; width: auto; }
  body.exhibit-terminal .exhibit-nav { padding-left: 10px; }
  body.exhibit-directory .masthead .edition { position: static; transform: none; text-align: center; margin-top: 8px; font-size: 14px; }
  body.exhibit-directory .masthead .edition span { display: inline; margin-left: 8px; }
}
@media print { .exhibit-nav { display: none; } body.exhibit-page { padding-top: 0; } }
