/* grid */
.xel-grid{display:grid;gap:12px;grid-template-columns:repeat(var(--xel-cols-sp,2),1fr)}
@media(min-width:840px){.xel-grid{grid-template-columns:repeat(var(--xel-cols-pc,5),1fr)}}
/* card */
.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;filter:blur(0.0px)}
.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}
/* modal */
.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}