/* The site header and its player search, shared by every page: the static
   pages (site.css) and the board on the home page (its own inline styles).
   Every rule is scoped to a .site-* class so neither page's styles leak in.
   Colors come from the page's own tokens; the two pages define the same names. */
.site-top { display: block; background: var(--surface); border-bottom: 1px solid var(--border); }
.site-bar {
  max-width: 1040px; margin: 0 auto; padding: 10px 16px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px;
}
.site-brand { font: 700 19px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--text); text-decoration: none; }

.site-search { position: relative; flex: 1 1 220px; max-width: 320px; margin: 0 0 0 auto; }
.site-search input {
  width: 100%; font: 15px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  padding: 8px 12px; border-radius: 10px; border: 1px solid var(--border);
  background: var(--surface-2); color: var(--text);
}
.site-sugg {
  position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 4px);
  margin: 0; padding: 4px 0; list-style: none; background: var(--surface);
  border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 6px 20px rgba(0,0,0,.18);
}
.site-sugg[hidden] { display: none; }
.site-sugg a {
  display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px;
  color: var(--text); text-decoration: none; font-size: 15px;
}
.site-sugg a span { color: var(--muted); font-size: 13px; white-space: nowrap; }
.site-sugg a:hover, .site-sugg a.on { background: var(--surface-2); }

/* An ordinary footer: the name left and About / Privacy / Credits right on
   one row, then the fine print and the update time, smaller and dimmer. */
.site-foot {
  max-width: 1040px; margin: 40px auto 0; padding: 24px 16px 48px;
  border-top: 1px solid var(--border); color: var(--muted);
  font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.site-foot p { margin: 0; }
.site-foot-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; }
.site-foot-name { color: var(--text); font-weight: 700; font-size: 16px; text-decoration: none; }
.site-foot-links { display: flex; flex-wrap: wrap; gap: 4px 28px; }
.site-foot-links a { color: var(--text); text-decoration: none; font-size: 15px; padding: 4px 0; }
.site-foot-links a:hover { color: var(--accent); text-decoration: underline; }
.site-foot-note { margin-top: 14px !important; font-size: 13px; }
.site-foot-small { margin-top: 6px !important; font-size: 13px; }
.site-foot-small a { color: var(--muted); }

@media (max-width: 720px) {
  .site-search { flex-basis: 100%; max-width: none; margin: 2px 0 4px; }
  .site-search input { font-size: 16px; } /* 16px stops iOS zooming on focus */
}
@media (max-width: 400px) {
  .site-bar { padding-left: 12px; padding-right: 12px; }
}
