/* Shared file projection, contained by the authoritative manifestation host. */
.palion-file-presentation { min-width: 0; }
.palion-file-modes { display: flex; gap: .35rem; flex-wrap: wrap; margin: .5rem 0; }
.palion-file-modes button { min-height: 44px; padding: .35rem .65rem; }
.palion-file-modes button[aria-pressed="true"] { color: #bcffd3; text-decoration: underline; text-underline-offset: .3em; }
.palion-file-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; min-width: 0; }
.palion-file-item { min-width: 0; padding: .4rem; background: rgba(15, 45, 30, .28); border-radius: .45rem; }
.palion-file-item[hidden] { display: none; }
.palion-file-select { display: flex; align-items: center; gap: .5rem; width: 100%; min-width: 0; min-height: 44px; text-align: left; }
.palion-file-select[aria-pressed="true"] { color: #b8ffd1; background: rgba(40, 130, 75, .2); }
.palion-file-select:focus-visible, .palion-file-modes button:focus-visible { outline: 1px solid #8deeb0; outline-offset: 2px; }
.palion-file-icon { flex: 0 0 1.4rem; text-align: center; }
.palion-file-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.palion-file-detail { display: block; font-size: .8rem; opacity: .78; overflow-wrap: anywhere; }
[data-file-mode="grid"] .palion-file-list, [data-file-mode="gallery"] .palion-file-list { grid-template-columns: repeat(auto-fit, minmax(min(145px, 100%), 1fr)); }
[data-file-mode="grid"] .palion-file-select, [data-file-mode="gallery"] .palion-file-select { flex-direction: column; align-items: stretch; text-align: center; }
[data-file-mode="grid"] .palion-file-icon { font-size: 1.8rem; padding: .5rem; }
[data-file-mode="gallery"] .palion-file-icon { font-size: 2.8rem; padding: .8rem; }
[data-file-mode="grid"] .palion-file-detail, [data-file-mode="gallery"] .palion-file-detail { text-align: center; }
