/* Load after game/theme/release CSS. All chrome is namespaced. */
.pf-navigation-root {
  --pf-game-nav-height: calc(4.625rem + env(safe-area-inset-bottom, 0px));
  --pf-game-nav-gap: 1rem;
  scroll-padding-bottom: calc(var(--pf-game-nav-height) + var(--pf-game-nav-gap));
}
body.pf-has-navigation {
  /* Keeps gameplay controls AND the final brand footer scrollable above the bar. */
  padding-bottom: calc(var(--pf-game-nav-height) + var(--pf-game-nav-gap));
}
.pf-has-navigation .release-footer {
  margin-bottom: 0;
  position: static;
}
.pf-has-navigation #settingsView {
  scroll-margin-top: 1.5rem;
  scroll-margin-bottom: calc(var(--pf-game-nav-height) + var(--pf-game-nav-gap));
}
.pf-game-header, .pf-game-header *, .pf-game-nav, .pf-game-nav * { box-sizing: border-box; }
.pf-game-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: 960px;
  margin: 0 auto;
  padding: calc(1rem + env(safe-area-inset-top, 0px)) max(1.5rem, env(safe-area-inset-right, 0px)) 1rem max(1.5rem, env(safe-area-inset-left, 0px));
  border-bottom: 1px solid var(--nav-line, #a6bdd136);
  color: var(--text, #f5f7fc);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}
.pf-game-header .pf-game-brand {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
  min-height: 44px;
  text-decoration: none;
  color: var(--text, #f5f7fc);
}
.pf-game-brand > svg { width: 30px; height: 34px; flex: 0 0 30px; color: var(--accent, #1687ff); }
.pf-game-header .pf-game-brand-words { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.pf-game-header .pf-game-eyebrow { color: var(--muted, #b4c1d4); font-size: .625rem; font-weight: 750; line-height: 1.2; letter-spacing: .15em; }
.pf-game-header .pf-game-title { color: var(--text, #f5f7fc); font-size: 1.25rem; font-weight: 800; line-height: 1.2; letter-spacing: -.035em; overflow-wrap: anywhere; }
.pf-game-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: .875rem; flex-shrink: 0; }
.pf-game-header .pf-game-label { color: var(--muted, #b4c1d4); font-size: .625rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.pf-game-header .pf-game-theme {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: .625rem .75rem;
  border: 1px solid var(--border, #465b76);
  border-radius: .75rem;
  background: var(--surface, #19212d);
  color: var(--text, #f5f7fc);
  font: 600 .75rem/1.3 Inter, ui-sans-serif, system-ui, sans-serif;
  cursor: pointer;
}
.pf-game-header .pf-game-theme svg { width: 20px; height: 20px; }
.pf-game-header svg, .pf-game-nav svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pf-game-nav {
  position: fixed;
  inset: auto 0 0;
  z-index: 40;
  display: block;
  width: 100%;
  padding: 0 max(.5rem, env(safe-area-inset-right, 0px)) env(safe-area-inset-bottom, 0px) max(.5rem, env(safe-area-inset-left, 0px));
  margin: 0;
  border: 0;
  border-top: 1px solid var(--nav-line, #a6bdd136);
  background: var(--nav-glass, var(--nav, #19212df5));
  color: var(--muted, #b4c1d4);
  box-shadow: 0 -6px 24px #00000014;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  font: 600 .75rem/1.25 Inter, ui-sans-serif, system-ui, sans-serif;
}
.pf-game-nav-inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 720px; margin: 0 auto; padding: .375rem 0; gap: .375rem; }
.pf-game-nav .pf-game-nav-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  min-width: 0;
  min-height: 60px;
  padding: .375rem .25rem;
  border: 1px solid transparent;
  border-radius: .75rem;
  color: var(--muted, #b4c1d4);
  background: transparent;
  text-decoration: none;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: color 150ms ease, background-color 150ms ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.pf-game-nav .pf-game-nav-link svg { width: 23px; height: 23px; flex: 0 0 23px; }
.pf-game-nav .pf-game-nav-link[aria-current] { color: var(--selected-text, #c4e2ff); background: var(--selected, #193c64); border-color: var(--selected-border, #1687ff); }
@media (hover: hover) {
  .pf-game-nav .pf-game-nav-link:hover { color: var(--text, #f5f7fc); background: var(--surface-hover, #2a3d56); }
  .pf-game-header .pf-game-theme:hover { background: var(--surface-hover, #2a3d56); }
}
.pf-game-header a:focus-visible, .pf-game-header button:focus-visible, .pf-game-nav .pf-game-nav-link:focus-visible {
  outline: 3px solid var(--selected-border, #1687ff);
  outline-offset: 2px;
}
@media (max-width: 520px) {
  .pf-game-header { padding-left: max(1rem, env(safe-area-inset-left, 0px)); padding-right: max(1rem, env(safe-area-inset-right, 0px)); gap: .5rem; }
  .pf-game-header .pf-game-label { display: none; }
  .pf-game-header .pf-game-title { font-size: 1.125rem; }
  .pf-game-header-actions { gap: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .pf-game-nav .pf-game-nav-link { transition: none; }
}
@media print {
  body.pf-has-navigation { padding-bottom: 0; }
  .pf-game-nav { display: none; }
}
/* Author page display rules must not override the hidden legacy masthead. */
.pf-has-navigation > .topbar[hidden], .pf-has-navigation main > header[hidden] { display: none !important; }
/* Real panels keep in-progress tables mounted while changing destinations. */
[data-pf-panel][hidden] { display: none !important; }
.pf-game-nav-inner { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pf-game-header .pf-game-label { display:none; }
.pf-header-hub,.pf-header-profile { display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.35rem .5rem;color:var(--muted);text-decoration:none;font-size:.75rem; }
.pf-header-hub svg { width:20px;height:20px; }
.pf-header-profile { border-left:1px solid var(--border);padding-left:.85rem;max-width:180px; }
.pf-header-profile>[data-pf-profile-name] { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.pf-game-header .pf-player-avatar { width:30px;height:30px;flex:0 0 30px; }
.pf-game-header .pf-player-avatar svg { width:19px;height:19px; }
.pf-game-nav a:focus-visible,.pf-header-hub:focus-visible,.pf-header-profile:focus-visible { outline:3px solid var(--accent);outline-offset:3px; }
@media(max-width:520px){.pf-header-profile>[data-pf-profile-name]{display:none}.pf-header-hub{padding:.35rem}.pf-header-profile{margin-left:.25rem;padding-left:.5rem}.pf-game-header .pf-game-title{font-size:1.05rem}.pf-game-brand>svg{width:25px;flex-basis:25px}.pf-game-brand{gap:.5rem!important}}
.pf-game-brand>img { width:36px;height:36px;flex:0 0 36px;display:block;border-radius:10px; }
@media(max-width:520px){.pf-game-brand>img{width:32px;height:32px;flex-basis:32px}}
