/* グループ詳細の操作と安全領域はメンバー詳細と共通。 */
.group-app-detail .member-photo-toggle {
  height: auto;
  aspect-ratio: var(--group-photo-ratio, 1.5);
  max-height: min(320px, 50svh, max(80px, calc(100svh - var(--member-action-base-height) - var(--member-safe-bottom) - 168px)));
}
.group-app-detail .member-photo-controls:not(.is-fixed) { top: calc(16px + var(--member-safe-top)); }
.group-member-count { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--member-muted); }
.group-member-count svg { width: 16px; height: 16px; }
.group-official-label { display: inline-block; margin-top: 8px; color: #075985; font-size: 12px; font-weight: 600; }
.group-app-detail .member-app-stats > span:first-child svg { color: #075985; }
.group-app-detail .member-app-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.group-app-detail .member-app-tabs button { justify-content: center; padding: 0 6px; white-space: nowrap; }
.group-app-detail .member-app-panel { padding-top: 20px; }
.group-social-links { justify-content: space-between; gap: 4px; }
.group-social-links a { min-width: 48px; }
.group-social-links a:first-child svg { color: #c2410c; }
.group-description { line-height: 1.9; }
.group-member-heading { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.group-member-heading h2 { margin: 0; font-size: 15px; font-weight: 600; }
.group-member-heading > span { color: var(--member-muted); font-size: 12px; }
.group-app-members { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; margin: 0; padding: 0; list-style: none; }
.group-app-member { display: block; color: var(--member-ink); }
.group-app-member img { display: block; width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; object-position: center top; background: #f0eee9; }
.group-app-member span { display: block; margin-top: 8px; font-size: 13px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.group-secondary-links { margin-top: 24px; border-top: 1px solid #f0eee9; }
.group-secondary-links a { display: flex; align-items: center; min-height: 48px; color: #c2410c; font-size: 12px; }
body.group-detail-app .member-action-bar .member-vote {
  --member-action-edge: #75acd0; --member-action-highlight: #e8f5ff; --member-action-top: #d5ecfd;
  --member-action-surface: #c2e3f9; --member-action-bottom: #acd5f1; --member-action-inner-shadow: rgb(7 89 133 / .12);
  color: #075985;
}
body.group-detail-app .member-action-bar .member-vote:hover { --member-action-highlight: #f0f9ff; --member-action-top: #e0f2fe; --member-action-surface: #d3ebfc; --member-action-bottom: #bcdef6; }
body.group-detail-app .member-action-bar .member-vote:focus-visible { outline-color: #075985; }
