.home-announcement-detail {
  width: min(640px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: 85dvh;
  margin: auto;
  padding: 0;
  border: 1px solid #536177;
  border-radius: 12px;
  background: #0b1521;
  color: #e8eef6;
  box-sizing: border-box;
}
.home-announcement-detail::backdrop { background: rgb(0 5 12 / 72%); }
body:has(.home-announcement-detail[open]) { overflow: hidden; }
.home-announcement-detail > header { display: flex; align-items: flex-start; gap: 16px; padding: 22px 24px 16px; border-bottom: 1px solid #34445a; }
.home-announcement-detail h2 { flex: 1; margin: 0; font-size: 22px; line-height: 1.4; color: #f3d486; overflow-wrap: anywhere; }
.home-announcement-detail button { min-width: 40px; min-height: 40px; border: 1px solid #536177; border-radius: 6px; background: #162437; color: #e8eef6; cursor: pointer; }
.home-announcement-detail [data-detail-close] { flex: none; font-size: 24px; line-height: 1; }
.home-announcement-detail button:focus-visible { outline: 2px solid #f3d486; outline-offset: 3px; }
.home-announcement-detail__scroll { max-height: calc(85dvh - 120px); overflow: auto; overscroll-behavior: contain; padding: 20px 24px 24px; font-size: 15px; line-height: 1.8; }
.home-announcement-detail [data-detail-summary] { margin: 0 0 18px; color: #bacbe0; }
.home-announcement-detail [data-detail-body], .home-announcement-detail [data-detail-summary] { white-space: pre-wrap; overflow-wrap: anywhere; }
.home-announcement-detail [data-detail-retry] { margin-top: 16px; padding: 8px 14px; }
.home-announcement-detail [hidden] { display: none; }
@media (max-width: 480px) {
  .home-announcement-detail > header { padding: 16px; }
  .home-announcement-detail h2 { font-size: 20px; }
  .home-announcement-detail__scroll { padding: 16px; }
}
