:root {
  --navy-950: #071725;
  --navy-900: #132d46;
  --navy-800: #1d3c59;
  --maize: #d2ad52;
  --maize-pale: #eee2bd;
  --paper: #f3f0e8;
  --ink: #17283a;
  --serif: Georgia, "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { min-width: 0; background: var(--navy-950); }
body { min-width: 0; min-height: 100vh; margin: 0; color: var(--paper); font-family: var(--sans); }
button, select { font: inherit; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; transform: translateY(-180%); background: var(--maize); color: var(--navy-950); font-weight: 700; }
.skip-link:focus { transform: translateY(0); }
.site-rail { position: fixed; z-index: 20; inset: 0 auto 0 0; width: 248px; display: flex; flex-direction: column; padding: 28px 24px; overflow-y: auto; background: var(--navy-900); color: #fff; }
.rail-top { display: contents; }
.portrait { width: 88px; height: 88px; display: block; overflow: hidden; border: 3px solid var(--maize); border-radius: 50%; box-shadow: 0 0 0 7px rgba(210,173,82,.1); }
.portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.identity { margin-top: 24px; }
.eyebrow, .nav-heading { display: block; color: var(--maize); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.identity strong { display: block; margin-top: 8px; font-family: var(--serif); font-size: 25px; font-style: italic; font-weight: 500; line-height: 1.05; }
.site-nav { margin-top: 58px; }
.nav-heading { margin-bottom: 12px; opacity: .78; }
.nav-link { display: grid; grid-template-columns: 26px 1fr auto; gap: 9px; align-items: center; margin: 0 -10px; padding: 13px 10px; border-top: 1px solid rgba(255,255,255,.1); color: inherit; font-size: 13px; font-weight: 650; line-height: 1.25; text-decoration: none; }
.nav-link + .nav-link { border-top: 0; }
.nav-link:last-child { border-bottom: 1px solid rgba(255,255,255,.1); }
.nav-link:hover, .nav-link:focus-visible, .nav-link.is-current { background: rgba(255,255,255,.06); color: var(--maize-pale); outline: none; }
.nav-icon, .nav-arrow { color: var(--maize); }
.nav-icon { font-family: var(--serif); font-size: 19px; text-align: center; }
.rail-note { max-width: 172px; margin: auto 0 0; padding-top: 48px; color: rgba(255,255,255,.5); font-family: var(--serif); font-size: 13px; font-style: italic; line-height: 1.5; }
.mobile-nav-button { display: none; }
.game-shell { min-height: 100vh; margin-left: 248px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 1000px) {
  .site-rail { position: relative; width: 100%; min-height: 78px; display: block; padding: 14px 20px; }
  .rail-top { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; }
  .portrait { width: 50px; height: 50px; border-width: 2px; box-shadow: none; }
  .identity { margin: 0; }
  .identity .eyebrow, .rail-note, .nav-heading { display: none; }
  .identity strong { margin: 0; font-size: 19px; }
  .mobile-nav-button { display: block; padding: 8px 10px; border: 1px solid rgba(210,173,82,.5); border-radius: 3px; background: transparent; color: var(--maize-pale); font-size: 12px; font-weight: 700; }
  .site-nav { display: none; margin: 14px 0 0; }
  .site-rail.is-open .site-nav { display: block; }
  .game-shell { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
