.softsonic-demos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.softsonic-demo { min-width: 0; margin: 0; padding: .75rem; border: 1px solid #dce3e8; border-radius: 8px; background: #fff; }
.softsonic-demo figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-bottom: .65rem; font-size: .85em; line-height: 1.4; }
.softsonic-demo-tag { display: inline-block; padding: .15rem .45rem; border-radius: 4px; font-size: .75em; white-space: nowrap; }
.softsonic-demo-tag.trained { background: #e7f2ee; color: #215f48; }
.softsonic-demo-tag.unseen { background: #eeeafb; color: #55428b; }
.softsonic-demo video { display: block; width: 100%; height: 320px; object-fit: contain; background: #111821; border-radius: 4px; }
.softsonic-demo-link { display: inline-block; margin-top: .5rem; font-size: .75em; }
@media (max-width: 600px) { .softsonic-demos { grid-template-columns: 1fr; } .softsonic-demo video { height: 360px; } }
