/* Scoped styles */
.ob-wrap { display: grid; gap: .75rem; }
.ob-controls { display: flex; }
#ob-search {
  width: 100%; padding: .6rem .8rem; border: 1px solid var(--wp--preset--color--contrast-3, rgba(0,0,0,.15));
  border-radius: .5rem; font: inherit;
}
#ob-breadcrumbs { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; font-size: .95em; opacity: .9; }
#ob-breadcrumbs .ob-crumb { text-decoration: none; }
#ob-breadcrumbs .ob-crumb.active { font-weight: 600; pointer-events: none; }
#ob-breadcrumbs .ob-sep { opacity: .6; }
#ob-list { display: grid; gap: .25rem; }
.ob-row {
  display: grid; grid-template-columns: auto 1fr auto auto; gap: .75rem; align-items: center;
  padding: .6rem .75rem; border-radius: .5rem; text-decoration: none; border: 1px solid transparent;
}
.ob-row:hover { background: color-mix(in oklab, currentColor 5%, transparent); border-color: color-mix(in oklab, currentColor 10%, transparent); }
.ob-ic { width: 20px; height: 20px; flex: 0 0 20px; fill: currentColor; opacity: .75; }
.ob-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 10ch; }
.ob-meta-i { justify-self: end; white-space: nowrap; opacity: .75; font-variant-numeric: tabular-nums; }
.ob-dir .ob-meta-i:last-child { display: none; }
.ob-empty { padding: 1rem; opacity: .7; border: 1px dashed color-mix(in oklab, currentColor 15%, transparent); border-radius: .5rem; text-align: center; }
.ob-meta { font-size: .9em; opacity: .7; }
.ob-error { color: #b00020; font-size: .9em; }
