diff --git a/apps/web/src/components/practice/SessionPausedModal.tsx b/apps/web/src/components/practice/SessionPausedModal.tsx
index ed5b3a10..e0c72257 100644
--- a/apps/web/src/components/practice/SessionPausedModal.tsx
+++ b/apps/web/src/components/practice/SessionPausedModal.tsx
@@ -255,6 +255,8 @@ export function SessionPausedModal({
// Live-updating pause duration
const [pauseDuration, setPauseDuration] = useState(0)
+ // Toggle for showing stats details
+ const [showStats, setShowStats] = useState(false)
useEffect(() => {
if (!isOpen || !pauseInfo?.pausedAt) {
@@ -430,72 +432,68 @@ export function SessionPausedModal({
data-element="rhythm-explanation"
className={css({
width: '100%',
- padding: '1rem',
- backgroundColor: isDark ? 'blue.900/50' : 'blue.50',
- borderRadius: '12px',
- border: '1px solid',
- borderColor: isDark ? 'blue.700' : 'blue.200',
})}
>
- {/* We know their rhythm */}
-
- 🎵
-
- We Know Your Rhythm!
-
-
-
+ {/* Main explanation text */}
- We watched you solve{' '}
-
- {stats.sampleCount} problems
- {' '}
- and learned your speed! Usually you take{' '}
-
- {formatSecondsFriendly(stats.meanMs)}
-
- .
+ Usually you take {formatSecondsFriendly(stats.meanMs)}. This one took longer, so we
+ paused to check in.{' '}
+ setShowStats(!showStats)}
+ className={css({
+ color: isDark ? 'gray.500' : 'gray.400',
+ fontSize: '0.75rem',
+ background: 'none',
+ border: 'none',
+ cursor: 'pointer',
+ textDecoration: 'underline',
+ padding: 0,
+ _hover: {
+ color: isDark ? 'gray.400' : 'gray.500',
+ },
+ })}
+ >
+ {showStats ? 'hide' : 'really?'}
+
- {/* Speed visualization */}
-
-
-
- The blue bar shows your usual range. This problem took longer, so we paused to check
- in!
-
+ {/* Collapsible stats visualization */}
+ {showStats && (
+
+
+
+ The blue bar shows your usual range.
+
+
+ )}
)}
@@ -606,7 +604,7 @@ export function SessionPausedModal({
className={css({
display: 'flex',
flexDirection: 'column',
- gap: '0.5rem',
+ gap: '0.75rem',
width: '100%',
})}
>
@@ -615,30 +613,31 @@ export function SessionPausedModal({
data-action="resume"
onClick={onResume}
className={css({
- padding: '1rem',
- fontSize: '1.125rem',
+ padding: '1.25rem',
+ fontSize: '1.25rem',
fontWeight: 'bold',
color: 'white',
- background: 'linear-gradient(135deg, #22c55e, #16a34a)',
- borderRadius: '12px',
- border: 'none',
+ background: 'linear-gradient(135deg, #16a34a, #15803d)',
+ borderRadius: '16px',
+ border: '3px solid',
+ borderColor: '#14532d',
cursor: 'pointer',
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
gap: '0.5rem',
transition: 'all 0.15s ease',
- boxShadow: '0 4px 12px rgba(34, 197, 94, 0.3)',
+ boxShadow: '0 6px 20px rgba(22, 163, 74, 0.5), inset 0 1px 0 rgba(255,255,255,0.2)',
+ textShadow: '0 1px 2px rgba(0, 0, 0, 0.3)',
_hover: {
transform: 'translateY(-2px)',
- boxShadow: '0 6px 16px rgba(34, 197, 94, 0.4)',
+ boxShadow: '0 8px 24px rgba(22, 163, 74, 0.6), inset 0 1px 0 rgba(255,255,255,0.2)',
},
_active: {
transform: 'translateY(0)',
},
})}
>
- ▶️
Keep Going!
@@ -647,21 +646,25 @@ export function SessionPausedModal({
data-action="end-session"
onClick={onEndSession}
className={css({
- padding: '0.625rem',
- fontSize: '0.8125rem',
- color: isDark ? 'gray.400' : 'gray.500',
+ padding: '0.5rem',
+ fontSize: '0.75rem',
+ color: isDark ? 'gray.500' : 'gray.400',
backgroundColor: 'transparent',
- borderRadius: '8px',
+ borderRadius: '6px',
border: 'none',
cursor: 'pointer',
transition: 'all 0.15s ease',
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ gap: '0.25rem',
_hover: {
- color: isDark ? 'red.300' : 'red.600',
- backgroundColor: isDark ? 'red.900/30' : 'red.50',
+ color: isDark ? 'gray.400' : 'gray.500',
},
})}
>
- End Session Early
+ 🛑
+ end session