/* フッターの外部コミュニティ入口と移動確認。 */
.site-footer .community-link {
  display:inline; margin:0 8px; padding:0; cursor:pointer;
  color:inherit; background:none; border:0; border-radius:0;
  font:inherit; line-height:inherit; white-space:nowrap; vertical-align:baseline; opacity:.85;
}
.site-footer .community-link:hover { text-decoration:underline; opacity:1; }
.site-footer .community-link:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
/* 項目追加後もスマホの横向き表示で末尾まで操作できる。 */
.game-header .header-menu-dropdown { max-height:min(520px,calc(100dvh - 140px)); overflow-y:auto; overscroll-behavior:contain; }
.game-header .header-menu-item { min-height:44px; }
.game-header .header-menu-item:focus-visible { outline:2px solid var(--gold); outline-offset:-3px; }
body.community-link-open { overflow:hidden; }
.community-dialog {
  box-sizing:border-box; width:min(460px,calc(100% - 24px)); max-height:calc(100dvh - 32px);
  margin:auto; padding:0; overflow:auto; color:var(--text-primary); background:var(--bg-panel);
  border:1px solid var(--gold-border); border-top:3px solid var(--gold); border-radius:9px;
  box-shadow:0 24px 70px #24170766; font-family:'Noto Sans JP',sans-serif;
}
.community-dialog::backdrop { background:#201609a6; backdrop-filter:blur(3px); }
.community-dialog [hidden] { display:none!important; }
.community-dialog-head { display:flex; align-items:center; gap:14px; padding:22px 24px 18px; border-bottom:1px solid var(--border); }
.community-dialog-emblem { display:flex; align-items:center; justify-content:center; width:42px; height:42px; flex-shrink:0; border:1px solid var(--gold-border); color:var(--gold); background:var(--gold-bg); }
.community-dialog-emblem svg { width:25px; height:25px; }
.community-dialog h2 { margin:0; font-size:19px; letter-spacing:.05em; color:var(--text-primary); text-wrap:balance; }
.community-dialog-body { padding:20px 24px; }
.community-dialog-body p { margin:0 0 16px; font-size:13px; line-height:1.8; }
.community-destination { border-left:2px solid var(--gold); padding:10px 12px; background:var(--gold-bg); }
.community-destination strong { display:block; margin-bottom:6px; font-size:14px; }
.community-destination span { display:block; font-size:12px; line-height:1.65; color:var(--text-dim); overflow-wrap:anywhere; }
.community-dialog .community-unofficial { margin:14px 0 0; color:var(--text-dim); font-size:12px; }
.community-dialog-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; padding:16px 24px 22px; border-top:1px solid var(--border); }
.community-dialog .community-dialog-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px;
  padding:10px 16px; border:1px solid var(--gold-border); border-radius:5px;
  color:var(--text-dim); background:var(--bg-panel); font:600 13px/1.5 'Noto Sans JP',sans-serif;
  cursor:pointer; text-decoration:none; box-shadow:inset 0 1px #fff3; transition:background .18s,transform .18s;
}
.community-dialog .community-dialog-go { color:#fff1d0; background:linear-gradient(#664920,#493218); border-color:#9b7b39; box-shadow:inset 0 0 0 3px #513b1c,inset 0 0 0 4px #d6b56255,0 2px 0 #372712; }
.community-dialog .community-dialog-btn:hover { background:var(--gold-bg); color:var(--gold); }
.community-dialog .community-dialog-go:hover { background:#715329; color:#fff5df; }
.community-dialog .community-dialog-btn:active { transform:translateY(1px); }
.community-dialog .community-dialog-btn:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
@media(max-width:420px) {
  .community-dialog-head { padding:20px 18px 16px; gap:10px; }
  .community-dialog h2 { font-size:17px; }
  .community-dialog-body { padding:18px; }
  .community-dialog-actions { padding:16px 18px 20px; display:grid; grid-template-columns:1fr 1.3fr; }
  .community-dialog .community-dialog-btn { padding:10px 8px; font-size:12px; gap:6px; }
}
@media(prefers-reduced-motion:reduce) { .community-dialog .community-dialog-btn { transition:none; } .game-header .header-menu-dropdown { animation:none; } }
