/* ==========================================================================
   Open Graph & Social Preview Checker
   ========================================================================== */

.og-html { min-height: 120px; font: 0.8rem/1.55 var(--font-mono); }
.og-desc { min-height: 84px; }
.og-read-note { margin: 0; font-size: 0.84rem; }
.og-read-note.is-good { color: var(--success-text); }
.og-read-note.is-warn { color: var(--warn-text); }
.og-or { display: flex; align-items: center; gap: 0.75rem; margin: 0; color: var(--muted); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.og-or::before, .og-or::after { content: ""; flex: 1; height: 1px; background: var(--border); }

.og-platforms { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.og-platforms .chip-btn { padding: 0.4rem 0.8rem; font-size: 0.82rem; }
.og-preview { display: flex; flex-direction: column; align-items: center; padding: 1.25rem; border: 1px solid var(--border); border-radius: var(--radius); background: #f0f2f5; }
:root:not([data-theme="light"]) .og-preview { background: #e9ebef; }

.og-card { width: 100%; max-width: 500px; overflow: hidden; color: #050505; font-family: Helvetica, Arial, sans-serif; text-align: left; }
.og-img { position: relative; overflow: hidden; background: #dfe3e8; }
.og-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.og-wide { aspect-ratio: 1.91 / 1; }
.og-square { flex: none; width: 130px; aspect-ratio: 1; }
.og-noimg { display: grid; place-items: center; color: #65676b; font-size: 0.85rem; }

.og-fb { border: 1px solid #dadde1; background: #fff; }
.og-fb-body { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.6rem 0.75rem 0.7rem; border-top: 1px solid #dadde1; background: #f0f2f5; }
.og-fb-domain { color: #65676b; font-size: 0.75rem; letter-spacing: 0.02em; }
.og-fb-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #050505; font-size: 1.02rem; line-height: 1.3; }
.og-fb-desc { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; color: #65676b; font-size: 0.88rem; }

.og-x { position: relative; border: 1px solid #cfd9de; border-radius: 16px; background: #fff; }
.og-x-overlay {
  position: absolute; left: 0.75rem; bottom: 0.75rem;
  max-width: calc(100% - 1.5rem);
  padding: 0.15rem 0.45rem;
  overflow: hidden;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.77);
  color: #fff;
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.og-x-from { width: 100%; max-width: 500px; margin: 0.35rem 0 0; color: #536471; font: 0.82rem Helvetica, Arial, sans-serif; text-align: left; }
.og-x-small { display: flex; }
.og-x-small .og-square { border-right: 1px solid #cfd9de; }
.og-x-body { display: flex; flex-direction: column; justify-content: center; gap: 0.15rem; min-width: 0; padding: 0.75rem; font-size: 0.9rem; }
.og-x-body b { overflow: hidden; color: #0f1419; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.og-x-body span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #536471; }
.og-x-domain { color: #536471; }

.og-li { border-radius: 8px; background: #fff; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12); }
.og-li-body { display: flex; align-items: center; gap: 0.75rem; padding: 0.7rem 0.9rem; }
.og-li-body > div { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
.og-li-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: rgba(0, 0, 0, 0.9); font-size: 0.92rem; line-height: 1.35; }
.og-li-domain { color: rgba(0, 0, 0, 0.6); font-size: 0.78rem; }
.og-li-thumb { flex: none; width: 128px; aspect-ratio: 1.91 / 1; border-radius: 4px; }

.og-wa-chat { width: 100%; max-width: 420px; padding: 0.75rem; border-radius: 12px; background: #efeae2; }
.og-wa-bubble { position: relative; margin-left: auto; width: 88%; padding: 0.25rem 0.25rem 1.2rem; border-radius: 8px; background: #d9fdd3; box-shadow: 0 1px 0.5px rgba(11, 20, 26, 0.13); }
.og-wa { border-radius: 6px; background: #d1f4cc; }
.og-wa-body { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.5rem 0.6rem; font-size: 0.85rem; }
.og-wa-body b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #111b21; }
.og-wa-body span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #54656f; font-size: 0.8rem; }
.og-wa-body small { color: #667781; font-size: 0.74rem; }
.og-wa-link { margin: 0.35rem 0.35rem 0; color: #027eb5; font: 0.85rem Helvetica, Arial, sans-serif; overflow-wrap: anywhere; }
.og-wa-time { position: absolute; right: 0.5rem; bottom: 0.25rem; color: #667781; font: 0.68rem Helvetica, Arial, sans-serif; }

.og-slack { display: flex; gap: 0.75rem; width: 100%; max-width: 500px; padding: 0.9rem; border-radius: 8px; background: #fff; font-family: Lato, Helvetica, Arial, sans-serif; }
.og-slack-bar { flex: none; width: 4px; border-radius: 4px; background: #dddddd; }
.og-slack-body { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; color: #1d1c1d; font-size: 0.9rem; }
.og-slack-site { font-size: 0.85rem; }
.og-slack-title { color: #1264a3; font-weight: 700; }
.og-slack-desc { color: #1d1c1d; }
.og-slack-img { width: 100%; max-width: 360px; margin-top: 0.4rem; aspect-ratio: 1.91 / 1; border-radius: 6px; }
.og-tags { max-height: 280px; font-size: 0.78rem; white-space: pre-wrap; overflow-wrap: anywhere; }
