/* Quiet, optional music: keep the existing header and contact controls clear. */
.bgm-player { position: static; max-width: 100%; }
.bgm-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 10px 16px; border: 1px solid var(--green); border-radius: 24px; background: #fffffff5; color: var(--green); font: 500 .8125rem/1.5 var(--sans); cursor: pointer; box-shadow: 0 3px 14px #123c3412; }
.bgm-toggle[aria-pressed="true"] { background: var(--green); color: white; }
.bgm-toggle:hover { border-color: var(--gold); }
.bgm-icon { font-size: 1rem; line-height: 1; }
.bgm-message { max-width: 260px; padding: 10px 14px; margin: 8px 0 0; background: white; border: 1px solid var(--line); color: var(--green); font-size: .75rem; line-height: 1.7; }
.bgm-message:empty { display: none; }
.footer .bgm-credit { flex: 1 0 100%; font-size: .6875rem; line-height: 1.9; overflow-wrap: anywhere; }
.bgm-credit a { text-decoration: underline; text-underline-offset: 3px; }
.site-loading, .site-loading a { cursor: progress; }
.navigation-notice { position: fixed; top: 96px; left: 50%; transform: translateX(-50%); z-index: 21; width: max-content; max-width: calc(100vw - 32px); padding: 14px 18px; border: 1px solid var(--line); background: white; color: var(--green); box-shadow: 0 4px 18px #123c3420; font-size: .8125rem; }
.navigation-notice[hidden] { display: none; }
.navigation-notice a { display: inline-block; padding: 10px; text-decoration: underline; }
.navigation-notice button { min-height: 44px; border: 1px solid var(--line); padding: 6px 12px; background: white; color: var(--green); cursor: pointer; }
@media (max-width: 720px) {
  .bgm-toggle { padding-inline: 13px; font-size: .75rem; }
}
@media print { .bgm-player { display: none; } }
