Skip to content

Commit d87e48f

Browse files
jeremymanningclaude
andcommitted
Add gray overlay for non-highlighted tutorial steps, raise modal z-index
- Overlay background is gray (rgba 0.45) when no element is highlighted, transparent when a highlight exists (box-shadow provides the gray) - Modal z-index raised to 10002 (above panels at 10000, pulls at 10001) - Arrow z-index 10003, dismiss dialog 10005 - Ensures tutorial modals always appear above grayed-out regions and panels Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 2c93f3a commit d87e48f

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

src/ui/tutorial.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
animation: tutorialPulse 1.5s ease-in-out infinite;
2525
}
2626

27-
/* During tutorial, raise drawers and pulls above the tutorial modal and highlights */
27+
/* During tutorial, raise drawers and pulls above the overlay and highlights */
2828
body.tutorial-active #quiz-panel,
2929
body.tutorial-active #video-panel {
3030
z-index: 10000 !important;

src/ui/tutorial.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -602,7 +602,7 @@ function showWelcomePrompt() {
602602
const mobile = isMobile();
603603
Object.assign(modal.style, {
604604
position: 'fixed',
605-
zIndex: '9999',
605+
zIndex: '10002',
606606
background: 'var(--color-bg, #ffffff)',
607607
color: 'var(--color-text, #0f172a)',
608608
maxWidth: mobile ? 'none' : `${MODAL_MAX_WIDTH}px`,
@@ -1081,7 +1081,7 @@ function renderOverlay(highlightSelector, title, message, showNextBtn, isFinish,
10811081
position: 'fixed',
10821082
inset: '0',
10831083
zIndex: '9998',
1084-
background: 'transparent',
1084+
background: highlightEl ? 'transparent' : 'rgba(0,0,0,0.45)',
10851085
pointerEvents: 'none',
10861086
transition: prefersReducedMotion() ? 'none' : 'opacity 300ms var(--ease-emphasized-decel, ease)',
10871087
});
@@ -1103,7 +1103,7 @@ function renderOverlay(highlightSelector, title, message, showNextBtn, isFinish,
11031103
const mobile = isMobile();
11041104
Object.assign(modal.style, {
11051105
position: 'fixed',
1106-
zIndex: '9999',
1106+
zIndex: '10002',
11071107
background: 'var(--color-bg, #ffffff)',
11081108
color: 'var(--color-text, #0f172a)',
11091109
maxWidth: mobile ? 'none' : `${MODAL_MAX_WIDTH}px`,

0 commit comments

Comments
 (0)