/* ============================================================
   Monolith Social Card (v0.1)
   - Theme independent
   - Screenshot-friendly (stable geometry)
============================================================ */

.monolith-social-card{
  display: block;
  text-decoration: none;
  border-radius: 16px;
  overflow: hidden;

  /* 依存を避けつつ、最低限の見栄え */
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 10px 26px rgba(0,0,0,.10);

 background: rgba(26, 26, 26, 0.92);
  color: inherit;

  max-width: 720px;
  transition: transform .12s ease;
}

.monolith-social-card:hover{
  transform: translateY(-1px);
}

.msc__media{
  display: block;
  width: 100%;
  background: rgba(0,0,0,.06);
}

.msc__img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.msc__img--placeholder{
  display: block;
  width: 100%;
  height: 100%;
}

/* preset: 比率を固定（スクショ前提） */
.monolith-social-card--x .msc__media{ aspect-ratio: 16 / 9; }
.monolith-social-card--wide .msc__media{ aspect-ratio: 21 / 9; }
.monolith-social-card--square .msc__media{ aspect-ratio: 1 / 1; }

.msc__body{
  display: block;
  padding: 14px 16px 16px;
}

.msc__title{
  display: block;
  font-weight: 700;
  line-height: 1.25;
  font-size: 18px;

  /* 日本語+記号+英数の割れ対策 */
  overflow-wrap: anywhere;
  word-break: break-word;
}

.msc__excerpt{
  display: block;
  margin-top: 8px;
  line-height: 1.6;
  font-size: 13.5px;
  opacity: .92;

  overflow-wrap: anywhere;
  word-break: break-word;
}

.msc__meta{
  display: flex;
  justify-content: space-between;
  gap: 10px;

  margin-top: 12px;
  font-size: 12px;
  opacity: .70;
}

.msc__site, .msc__host{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
