/* One footer layout for every public content page. */
.site-footer {
  display: grid;
  grid-template-columns: minmax(0, .55fr) minmax(0, 1fr);
  align-items: center;
  gap: 18px 28px;
  width: 100%;
  min-width: 0;
  margin-top: 32px;
  padding: 25px 0 30px;
  border-top: 1px solid var(--line, rgba(238, 227, 242, .13));
  color: var(--muted, #b7b0bd);
}
body:not(.landing) .site-footer { grid-template-columns: minmax(0, 1fr); }
body:not(.landing) .site-footer .footer-brand { align-items: flex-start; flex-direction: column; gap: 7px; }
/* Keep the original richer signal effect on the homepage; content-page footers use a quieter single-pass accent. */
body:not(.landing) .site-footer .brand-wordmark-wrap.is-initial-glitch::before { animation: footer-wordmark-glint 560ms steps(1, end) both; }
body:not(.landing) .site-footer .brand-wordmark-wrap.is-initial-glitch::after { animation: footer-wordmark-glint-alt 560ms steps(1, end) both; }
body:not(.landing) .site-footer .brand-wordmark-wrap.is-ambient-glitch::before { animation: footer-wordmark-glint 440ms steps(1, end) both; }
body:not(.landing) .site-footer .brand-wordmark-wrap.is-ambient-glitch::after { animation: footer-wordmark-glint-alt 440ms steps(1, end) both; }
@keyframes footer-wordmark-glint {
  0%, 100% { opacity: 0; transform: none; clip-path: inset(0); }
  38% { opacity: .12; transform: translateX(-1px); clip-path: inset(22% 0 68%); }
  58% { opacity: 0; }
}
@keyframes footer-wordmark-glint-alt {
  0%, 100% { opacity: 0; transform: none; clip-path: inset(0); }
  44% { opacity: .08; transform: translateX(1px); clip-path: inset(67% 0 23%); }
  64% { opacity: 0; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body:not(.landing):not(.is-motion-paused) .site-footer .brand-wordmark-wrap:hover::before { animation: footer-wordmark-glint 520ms steps(1, end) both; }
  body:not(.landing):not(.is-motion-paused) .site-footer .brand-wordmark-wrap:hover::after { animation: footer-wordmark-glint-alt 520ms steps(1, end) both; }
}
.site-footer .footer-brand { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 10px; min-width: 0; }
.site-footer .footer-brand p { flex: 0 0 auto; margin: 0; color: var(--muted, #b7b0bd); font-size: .83rem; white-space: nowrap; }
.site-footer .cofounder-credit { display: inline-flex; align-items: center; gap: 4px; min-height: 36px; color: var(--muted, #b7b0bd); font-size: .78rem; text-decoration: none; }
.site-footer .cofounder-credit:hover { color: var(--ink, #f7f4f7); }
.site-footer .cofounder-credit:focus-visible,
.site-footer .footer-social a:focus-visible { outline: 3px solid var(--violet, #9785dc); outline-offset: 3px; border-radius: 7px; }
.site-footer .footer-social { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-height: 44px; }
.site-footer .footer-social-label { margin-right: 3px; color: var(--muted, #b7b0bd); font-size: .82rem; }
.site-footer .footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid var(--line, rgba(238,227,242,.13)); border-radius: 13px; color: var(--muted, #b7b0bd); background: var(--surface, #191820); transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease; }
.site-footer .footer-social a:hover { color: var(--ink, #f7f4f7); border-color: color-mix(in srgb, var(--accent, #f07b91) 48%, transparent); background: color-mix(in srgb, var(--accent, #f07b91) 10%, var(--surface, #191820)); transform: translateY(-1px); }
.site-footer .footer-social svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.site-footer .footer-social a:nth-of-type(2) svg { fill: currentColor; stroke: none; }
.site-footer .footer-social .social-dot { fill: currentColor; stroke: none; }
.site-footer .footer-links { position: static; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 4px 16px; min-width: 0; min-height: 0; margin: 0; padding: 0; background: transparent; backdrop-filter: none; font-size: .84rem; }
body:not(.landing) .site-footer .footer-links { justify-content: flex-end; }
.site-footer .footer-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted, #b7b0bd); text-decoration: none; }
.site-footer .footer-links a:hover { color: var(--ink, #f7f4f7); }
.site-footer .footer-links a:focus-visible,
.site-footer .atmosphere-toggle:focus-visible { outline: 3px solid var(--violet, #9785dc); outline-offset: 3px; }
.site-footer .footer-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 12px 16px; min-width: 0; }
body:not(.landing) .site-footer .footer-meta { grid-column: 1; justify-content: flex-end; }
.site-footer .copyright { font-size: .8rem; }
.site-footer .atmosphere-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 13px; border: 1px solid var(--line, rgba(238, 227, 242, .13)); border-radius: 999px; color: var(--muted, #b7b0bd); background: var(--surface, #191820); font: inherit; font-size: .8rem; cursor: pointer; }
.site-footer .atmosphere-toggle .ui-icon { display: block; width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; color: var(--accent, #f07b91); }
.site-footer .atmosphere-toggle:hover:not(:disabled) { border-color: color-mix(in srgb, var(--accent, #f07b91) 45%, transparent); color: var(--ink, #f7f4f7); }
.site-footer .atmosphere-toggle:disabled { cursor: default; opacity: .82; }
.site-footer .igdb-attribution { grid-column: 1 / -1; width: 100%; min-width: 0; margin: 0; padding-top: 13px; border-top: 1px solid var(--line, rgba(238, 227, 242, .13)); text-align: left; font-size: .76rem; }
.site-footer .igdb-attribution a { color: var(--accent, #f07b91); text-decoration: underline; text-underline-offset: 3px; }
body:not(.landing)::before { animation: footer-page-starlight 10s ease-in-out infinite alternate; }
body.is-motion-paused:not(.landing)::before { animation-play-state: paused; }
@keyframes footer-page-starlight { from { opacity: .62; } to { opacity: .9; } }
@media (max-width: 1000px) {
  .site-footer { grid-template-columns: minmax(0, 1fr); gap: 13px; }
  .site-footer .footer-links { justify-content: flex-end; }
  .site-footer .footer-meta { grid-column: 1; justify-content: flex-end; }
  .site-footer .igdb-attribution { grid-column: 1; }
}
@media (max-width: 480px) {
  .site-footer { margin-top: 26px; padding: 22px 0 26px; }
  .site-footer .footer-brand { align-items: flex-start; flex-direction: column; }
  .site-footer .footer-links { gap: 2px 12px; }
  .site-footer .footer-social { justify-content: flex-end; grid-column: 1; }
  .site-footer .footer-brand { gap: 7px 10px; }
  .site-footer .footer-meta { align-items: flex-end; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer .atmosphere-toggle { transition: none; }
  .site-footer .footer-social a { transition: none; }
  .site-footer .footer-social a:hover { transform: none; }
}
