.ms-files-status { color: var(--grass-600); font: var(--t-body-sm); }
.ms-files-status:empty { display: none; }
.ms-files-status[role="alert"] { color: var(--rose-600); }
.ms-file-entry-reference, .ms-file-reference {
  padding: 2px 6px; border-radius: var(--r-pill); background: var(--amber-100, #fff4d6);
  color: var(--amber-700, #8a5a00); white-space: nowrap; font: var(--t-caption);
}
.ms-file-entry-reference { margin-left: auto; }

.ms-source { container-type: inline-size; display: flex; flex-direction: column; flex: 1; min-height: 0; }
.ms-source-toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 14px; border-bottom: 1px solid var(--border-hair); flex-shrink: 0; }
.ms-source-crumbs { font: var(--t-body-sm); color: var(--fg-2); display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.ms-crumb { color: var(--fg-link); cursor: pointer; }
.ms-crumb:last-child { color: var(--fg-1); cursor: default; }
.ms-crumb-sep { color: var(--fg-muted); }
.ms-source-body { flex: 1; overflow: auto; }
.ms-source-row { display: flex; align-items: center; gap: 10px; padding: 8px 14px; cursor: pointer; font: var(--t-body-sm); border-bottom: 1px solid var(--border-hair); }
.ms-source-row:hover, .ms-source-row:focus-visible { background: var(--paper-200); outline: none; }
.ms-source-icon { width: 16px; flex-shrink: 0; }
.ms-source-name { flex: 1; word-break: break-all; color: var(--fg-1); }
.ms-source-size { color: var(--fg-muted); font: 500 11px/1.2 var(--font-mono); font-variant-numeric: tabular-nums; }
.ms-source-fileview { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.ms-source-filehead { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-bottom: 1px solid var(--border-hair); }
.ms-source-filepath { font: var(--t-mono); color: var(--fg-1); flex: 1; word-break: break-all; }
.ms-source-content { margin: 0; padding: 12px 14px; overflow: auto; font: var(--t-mono); color: var(--fg-1); background: var(--paper-100); white-space: pre; flex: 1; }
.ms-source-browser-preview {
  display: flex; min-height: 260px; flex: 1; align-items: center; justify-content: center;
  overflow: auto; padding: 18px; background: var(--paper-200);
}
.ms-source-image { display: block; max-width: 100%; max-height: min(70vh, 760px); object-fit: contain; }
.ms-source-preview-frame { width: 100%; min-height: 560px; align-self: stretch; border: 0; background: #fff; }
.ms-source-preview-media { display: block; max-width: 100%; max-height: min(70vh, 760px); }
.ms-source-preview-audio { width: min(560px, 100%); }
.ms-source-filemeta { margin: 18px; padding: 18px; border: 1px solid var(--border-hair); border-radius: var(--r-card); background: var(--paper-100); }
.ms-source-filemeta p { margin-top: 0; color: var(--fg-2); }
.ms-source-filemeta dl { display: grid; gap: 8px; margin: 0; }
.ms-source-filemeta dl > div { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 10px; }
.ms-source-filemeta dt { color: var(--fg-3); font: var(--t-label); }
.ms-source-filemeta dd { margin: 0; overflow-wrap: anywhere; }
@container (max-width: 420px) {
  .ms-source-filehead { flex-wrap: wrap; }
  .ms-source-filehead .ms-spacer { display: none; }
  .ms-source-filepath { min-width: 100%; order: -1; }
}
