/* Fixed decorative slots: labels, native controls and the approved workspace
   theme retain all meaning when images are loading, unavailable or suppressed. */
body.workspace-shell { --ws-assets-ready: 1; }
body.workspace-shell .ws-module-asset {
    display: inline-block;
    position: relative;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    vertical-align: middle;
    pointer-events: none;
    user-select: none;
}
body.workspace-shell .ws-module-asset--start { width: 3rem; height: 3rem; flex-basis: 3rem; }
body.workspace-shell .ws-module-asset :is(.ws-module-asset-image, .ws-module-asset-fallback) {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
body.workspace-shell .ws-module-asset-image { object-fit: contain; opacity: 0; }
body.workspace-shell .ws-module-asset-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    font: 650 .75rem/1 var(--ws-font);
    color: inherit;
}
body.workspace-shell .ws-module-asset[data-asset-state="ready"] .ws-module-asset-image { opacity: 1; }
body.workspace-shell .ws-module-asset[data-asset-state="ready"] .ws-module-asset-fallback { visibility: hidden; }
body.workspace-shell .sidebar-item-icon:has(> .ws-module-asset) { width: 2rem; min-width: 2rem; height: 2rem; line-height: 1; }
body.workspace-shell .topbar-left.ws-module-heading { flex-wrap: nowrap; gap: var(--ws-space-sm); }
body.workspace-shell .topbar-left.ws-module-heading .topbar-title { min-width: 0; }
body.workspace-shell #workspace-start-view .ws-start-module-with-asset { display: flex; align-items: center; gap: var(--ws-space-md); }
body.workspace-shell #workspace-start-view .ws-start-module-copy { min-width: 0; flex: 1 1 auto; }
body.workspace-shell :is(button:disabled, [aria-disabled="true"], [aria-busy="true"], [data-asset-inactive="true"]) .ws-module-asset {
    filter: grayscale(1);
    opacity: .5;
}
@media (prefers-reduced-motion: reduce) {
    body.workspace-shell .ws-module-asset,
    body.workspace-shell .ws-module-asset > * { animation: none; transition: none; }
}
@media (forced-colors: active) {
    body.workspace-shell .ws-module-asset-image { display: none; }
    body.workspace-shell .ws-module-asset[data-asset-state] .ws-module-asset-fallback { visibility: visible; color: CanvasText; }
    body.workspace-shell :is(button:disabled, [aria-disabled="true"], [aria-busy="true"], [data-asset-inactive="true"]) .ws-module-asset { filter: none; opacity: 1; }
    body.workspace-shell :is(button:disabled, [aria-disabled="true"], [aria-busy="true"], [data-asset-inactive="true"]) .ws-module-asset-fallback { color: GrayText; }
}
