.dataset-showcase { background: #f4f7fb; border-block: 1px solid #e0e8f1; }
.dataset-intro { max-width: 860px; margin: 0 auto 1.5rem; line-height: 1.7; }
.dataset-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .75rem; }
.dataset-status, .dataset-note { text-align: center; color: #52677f; margin: 1rem 0; font-size: .95rem; }
.dataset-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; min-height: 260px; }
.dataset-video-card { overflow: hidden; border: 1px solid #dce5ef; border-radius: 12px; background: white; }
.dataset-video-card h3 { font-size: 1.1rem; font-weight: 700; padding: .9rem 1rem; }
.dataset-video-card video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #e8edf3; object-fit: contain; }
.dataset-video-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; font-size: .85rem; }
.dataset-video-footer span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #64748b; }
.dataset-video-footer a { white-space: nowrap; }
.dataset-video-error { padding: .75rem 1rem; color: #923b32; }
@media (max-width: 680px) { .dataset-video-grid { grid-template-columns: 1fr; } }
.dataset-viser-panel { margin: 2rem 0 3rem; }
.dataset-viser-controls { display: flex; align-items: end; justify-content: center; gap: 1rem; flex-wrap: wrap; }
.dataset-viser-controls label { display: flex; flex-direction: column; gap: .4rem; font-weight: 600; }
.dataset-viser-controls select { font: inherit; font-weight: 400; background: white; color: #243750; border: 1px solid #cbd5e1; border-radius: 8px; padding: .65rem 2rem .65rem .75rem; max-width: 100%; }
.dataset-viser-frame { display: block; width: 100%; height: 560px; border: 1px solid #dce5ef; border-radius: 12px; background: white; }
.dataset-viser-frame[hidden] { display: none; }
.dataset-viser-footer { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: .8rem; color: #52677f; font-size: .9rem; }
.dataset-viser-footer a { white-space: nowrap; }
@media (max-width: 680px) {
  .dataset-viser-controls { align-items: stretch; }
  .dataset-viser-controls label { width: 100%; }
  .dataset-viser-frame { height: 430px; }
}
