diff --git a/server/src/wled_controller/static/js/features/streams.js b/server/src/wled_controller/static/js/features/streams.js
index 16b25e0..c93d02f 100644
--- a/server/src/wled_controller/static/js/features/streams.js
+++ b/server/src/wled_controller/static/js/features/streams.js
@@ -1162,7 +1162,7 @@ function renderPictureSourcesList(streams) {
detailsHtml = `
${ICON_MONITOR} ${stream.display_index ?? 0}
${ICON_FPS} ${stream.target_fps ?? 30}
- ${capTmplName ? `${ICON_TEMPLATE} ${capTmplName}` : ''}
+ ${capTmplName ? `${ICON_TEMPLATE} ${capTmplName}` : ''}
`;
} else if (stream.stream_type === 'processed') {
const sourceStream = _cachedStreams.find(s => s.id === stream.source_stream_id);
@@ -1176,7 +1176,7 @@ function renderPictureSourcesList(streams) {
}
detailsHtml = `
${ICON_LINK_SOURCE} ${sourceName}
- ${ppTmplName ? `${ICON_TEMPLATE} ${ppTmplName}` : ''}
+ ${ppTmplName ? `${ICON_TEMPLATE} ${ppTmplName}` : ''}
`;
} else if (stream.stream_type === 'static_image') {
const src = stream.image_source || '';
diff --git a/server/src/wled_controller/static/js/features/tutorials.js b/server/src/wled_controller/static/js/features/tutorials.js
index 578b656..d6d1a54 100644
--- a/server/src/wled_controller/static/js/features/tutorials.js
+++ b/server/src/wled_controller/static/js/features/tutorials.js
@@ -314,9 +314,10 @@ function showTutorialStep(index, direction = 1) {
target.classList.add('tutorial-target');
if (isFixed) target.style.zIndex = '10001';
- // Scroll target into view if off-screen (smooth animation)
+ // Scroll target into view if off-screen or behind sticky header
const preRect = target.getBoundingClientRect();
- const needsScroll = preRect.bottom > window.innerHeight || preRect.top < 0;
+ const headerH = isFixed ? (parseInt(getComputedStyle(document.documentElement).getPropertyValue('--header-height')) || 0) : 0;
+ const needsScroll = preRect.bottom > window.innerHeight || preRect.top < headerH;
if (needsScroll) {
target.scrollIntoView({ behavior: 'smooth', block: 'center' });