/* ==========================================================
   Pied de page : le coucher de soleil (노을)
   ========================================================== */
.footer {
  position: relative; overflow: hidden; isolation: isolate;
  padding-block: clamp(80px, 10vw, 120px) 150px;
  background: linear-gradient(180deg, var(--hanji) 0%, color-mix(in srgb, var(--peach) 55%, var(--hanji)) 45%, color-mix(in srgb, var(--sun) 60%, var(--hanji)) 100%);
}
.footer::before { /* soleil qui se couche */
  content: ""; position: absolute; left: 50%; bottom: -170px; z-index: -1; width: 380px; height: 380px; transform: translateX(-50%);
  border-radius: 50%; background: radial-gradient(circle at 50% 40%, #ffd98a, var(--sun) 70%);
  box-shadow: 0 0 120px 40px var(--glow);
}
.footer .bye { text-align: center; display: grid; gap: 8px; justify-items: center; }
.footer .bye .ko { font-family: var(--f-display); font-size: var(--step-3); font-weight: 300; }
.footer .bye p { color: var(--ink-soft); max-width: 50ch; }
/* Crédits : carte posée au-dessus du soleil pour rester lisible */
.credits {
  position: relative; max-width: 860px; margin: 40px auto 0;
  background: color-mix(in srgb, var(--card) 94%, transparent);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow);
  color: var(--ink); font-size: .85rem;
}
.credits summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 12px;
  padding: 14px 20px; border-radius: 18px;
}
.credits summary::-webkit-details-marker { display: none; }
.credits summary span { font-weight: 700; font-size: .95rem; display: inline-flex; align-items: center; gap: 8px; }
.credits summary span::after { content: "▾"; color: var(--sun); transition: transform .3s; }
.credits[open] summary span::after { transform: rotate(180deg); }
.credits summary small { color: var(--ink-soft); font-size: .8rem; }
.credits summary:hover span { color: var(--sun); }
.credits ul { list-style: none; padding: 4px 22px 20px; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px 22px; border-top: 1px dashed var(--line); padding-top: 16px; }
.credits a { color: var(--ink); text-decoration-color: color-mix(in srgb, var(--sun) 50%, transparent); }
.credits a:hover { color: var(--sun); }
.credits-title { font-family: var(--f-display); font-size: .95rem; margin: 14px 22px 0; color: var(--sun); }
.credits ul + .credits-title { margin-top: 4px; }
