.tw-og-app{max-width:1200px;margin:0 auto;padding-top:20px;font-family:inherit;color:#1a1a2e}
.tw-og-app *,.tw-og-app *::before,.tw-og-app *::after{box-sizing:border-box}
.tw-og-editor{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin-bottom:12px}
.tw-og-textarea{width:100%;min-height:140px;border:none;outline:none;padding:16px;font-size:14px;line-height:1.65;resize:vertical;font-family:inherit;color:#1a1a2e;display:block}
.tw-og-textarea::placeholder{color:#b0b5c0}
.tw-og-actions{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-top:1px solid #f3f4f6}
.tw-og-urlcount{font-size:12px;color:#6b7280}
.tw-og-btn-primary{height:44px;padding:0 28px;background:#56aea4;color:#fff;font-size:14px;font-weight:600;border:none;border-radius:22px;cursor:pointer;transition:all .15s;font-family:inherit}
.tw-og-btn-primary:hover{background:#489e94}
.tw-og-btn-primary:disabled{opacity:.5;cursor:not-allowed}
.tw-og-status{min-height:20px;margin-bottom:8px}
.tw-og-loading{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280;padding:8px 0}
.tw-og-spinner{width:18px;height:18px;border:2px solid #e5e7eb;border-top-color:#56aea4;border-radius:50%;animation:tw-og-spin 0.6s linear infinite}
.tw-og-spinner-sm{width:14px;height:14px;border:2px solid #e5e7eb;border-top-color:#56aea4;border-radius:50%;animation:tw-og-spin 0.6s linear infinite;display:inline-block}
@keyframes tw-og-spin{to{transform:rotate(360deg)}}
.tw-og-loading-inline{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}
.tw-og-alert{padding:10px 14px;border-radius:8px;font-size:13px;margin:6px 0}
.tw-og-alert-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}
.tw-og-export{display:flex;gap:8px;margin-bottom:12px}
.tw-og-btn-export{height:34px;padding:0 16px;background:#fff;color:#56aea4;font-size:12px;font-weight:600;border:1.5px solid #56aea4;border-radius:17px;cursor:pointer;transition:all .15s;font-family:inherit}
.tw-og-btn-export:hover{background:#56aea4;color:#fff}
.tw-og-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:16px}
.tw-og-table{width:100%;border-collapse:collapse;font-size:13px}
.tw-og-table th{background:#f9fafb;padding:8px 12px;text-align:left;font-weight:600;color:#6b7280;border-bottom:1px solid #e5e7eb;white-space:nowrap}
.tw-og-table td{padding:6px 12px;border-bottom:1px solid #f3f4f6;vertical-align:middle}
.tw-og-table tr:last-child td{border-bottom:none}
.tw-og-table tr[style*="cursor"]:hover{background:#f9fafb}
.tw-og-url-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tw-og-url-cell a{color:#56aea4;text-decoration:none}
.tw-og-url-cell a:hover{text-decoration:underline}
.tw-og-score{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:700;min-width:36px;text-align:center}
.tw-og-score-high{background:#dcfce7;color:#16a34a}
.tw-og-score-med{background:#fef3c7;color:#ca8a04}
.tw-og-score-low{background:#fef2f2;color:#dc2626}
.tw-og-check-ok{color:#16a34a;font-weight:600}
.tw-og-check-warn{color:#ca8a04;font-weight:600}
.tw-og-check-fail{color:#dc2626;font-weight:600}
.tw-og-detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px;margin-top:16px}
.tw-og-detail-title{font-size:15px;font-weight:700;color:#56aea4;margin-bottom:16px}
.tw-og-previews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
@media(max-width:900px){.tw-og-previews{grid-template-columns:1fr}}
.tw-og-preview-card{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}
.tw-og-preview-label{padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb}
.tw-og-preview-img{width:100%;height:140px;object-fit:cover;display:block;background:#f3f4f6}
.tw-og-preview-img-placeholder{width:100%;height:140px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#b0b5c0;font-size:12px}
.tw-og-preview-body{padding:10px 12px}
.tw-og-preview-domain{font-size:11px;color:#6b7280;text-transform:uppercase;margin-bottom:4px}
.tw-og-preview-ptitle{font-size:13px;font-weight:600;color:#1a1a2e;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tw-og-preview-pdesc{font-size:12px;color:#6b7280;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tw-og-tags-section{margin-bottom:16px}
.tw-og-section-title{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f3f4f6}
.tw-og-tag-grid{display:grid;grid-template-columns:160px 1fr;gap:4px 12px;font-size:13px}
.tw-og-tag-key{color:#6b7280;font-weight:500}
.tw-og-tag-val{color:#1a1a2e;word-break:break-all}
.tw-og-tag-val.tw-og-empty{color:#d1d5db;font-style:italic}
.tw-og-issues-list{list-style:none;padding:0;margin:0}
.tw-og-issues-list li{padding:6px 0;border-bottom:1px solid #f3f4f6;font-size:13px;display:flex;align-items:center;gap:8px}
.tw-og-issues-list li:last-child{border-bottom:none}
.tw-og-sev{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}
.tw-og-sev-error{background:#dc2626}
.tw-og-sev-warning{background:#ca8a04}
.tw-og-sev-info{background:#3b82f6}
.tw-og-article-toggle{margin-top:16px;margin-bottom:12px}
.tw-og-toggle-btn{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:#fff;border:1.5px solid #56aea4;border-radius:10px;cursor:pointer;font-family:inherit;transition:all .15s;text-align:left}
.tw-og-toggle-btn:hover{background:#f0fdf8}
.tw-og-toggle-chevron{transition:transform .25s ease;flex-shrink:0;color:#56aea4}
.tw-og-toggle-btn.tw-og-toggle-open .tw-og-toggle-chevron{transform:rotate(180deg)}
.tw-og-h2{font-size:14px;font-weight:600;color:#56aea4;margin:0}
@media(max-width:600px){.tw-og-table{font-size:12px}.tw-og-previews{grid-template-columns:1fr}}

/* Empilage : cartes d apercu social en colonne, largeur realiste */
.tw-og-previews{grid-template-columns:1fr;max-width:560px}
