/* ========== グリッド（既存） ========== */
.xel-grid{display:grid;gap:12px;grid-template-columns:repeat(var(--xel-cols-sp,2),1fr)}
@media(min-width:900px){.xel-grid{grid-template-columns:repeat(var(--xel-cols-pc,5),1fr)}}
.xel-card{border:1px solid #e7d7e7;border-radius:12px;padding:8px;background:#fff;display:flex;flex-direction:column;gap:8px}
.xel-thumb{aspect-ratio:16/9;background:linear-gradient(45deg,#f0f0f0,#fafafa);border-radius:8px;position:relative;overflow:hidden}
.xel-18{position:absolute;top:6px;left:6px;font-size:12px;background:#b11f47;color:#fff;padding:2px 6px;border-radius:999px}
.xel-meta{font-size:12px;color:#444}
.xel-link{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xel-open{align-self:flex-start;padding:6px 10px;border-radius:8px;border:1px solid #bbb;background:#fff;cursor:pointer}
.xel-open:hover{background:#f7f7f7}

/* ========== Skebetter風カード ========== */
.xel-stream{display:grid;gap:14px;grid-template-columns:repeat(var(--xel-cols-sp,2),1fr)}
@media(min-width:900px){.xel-stream{grid-template-columns:repeat(var(--xel-cols-pc,4),1fr)}}

.xel-card2{background:#fff;border:1px solid #eaeaea;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.xel-card2__click{display:block;text-decoration:none;color:inherit}
.xel-card2__media{position:relative;aspect-ratio:3/4;overflow:hidden;background:#000}
.xel-card2__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.01);transition:transform .18s ease}
.xel-card2:hover .xel-card2__media img{transform:scale(1.035)}
.xel-card2__badge{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.7);color:#fff;font-size:12px;padding:2px 6px;border-radius:999px}

.xel-card2__meta{display:flex;align-items:center;gap:10px;padding:10px 12px}
.xel-card2__icon{width:28px;height:28px;border-radius:999px;object-fit:cover;flex:0 0 auto}
.xel-card2__user{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.xel-card2__user .n{font-size:13px;font-weight:700;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xel-card2__user .s{font-size:12px;color:#666}
.xel-card2__open{margin-left:auto;border:1px solid #ddd;background:#fff;border-radius:8px;padding:4px 8px;font-size:12px;cursor:pointer}
.xel-card2__open:hover{background:#f7f7f7}

/* ========== モーダル（共通） ========== */
.xel-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:9999}
.xel-modal[hidden]{display:none}
.xel-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.xel-modal__panel{position:relative;width:min(960px,92vw);max-height:92vh;overflow:auto;background:#fff;border-radius:12px;padding:16px}
.xel-modal__close{position:absolute;top:6px;right:6px;border:none;background:transparent;font-size:20px;cursor:pointer}
.xel-help{font-size:12px;color:#666;margin-top:8px}

/* テキスト埋め込み（既存） */
.xel-tweet{border:1px solid #eee;border-radius:14px;padding:14px;background:#fff;max-width:980px;margin:1em auto}
.xel-tweet__head{display:flex;align-items:flex-start;gap:10px;margin-bottom:6px}
.xel-author{display:flex;align-items:center;gap:10px;text-decoration:none}
.xel-author__icon{width:44px;height:44px;border-radius:999px;object-fit:cover}
.xel-author__meta{line-height:1.2}
.xel-author__name{font-weight:700;color:#111;font-size:15px}
.xel-author__screen{color:#555;font-size:13px}
.xel-tweet__text{white-space:pre-wrap;word-break:break-word;margin:6px 0 10px;font-size:15px;color:#111}
.xel-media__item{margin:0 0 10px 0}
.xel-media__item img{width:100%;height:auto;display:block;border-radius:10px;object-fit:contain;background:#000}
.xel-tweet__foot{display:flex;align-items:center;gap:8px;font-size:12px;color:#666}
.xel-tweet__link{color:#1d9bf0;text-decoration:none}
.xel-tweet__link:hover{text-decoration:underline}
.xel-tweet__id{opacity:.8}