onStart(mode, selectedVoice, mode === 'exam' && customTimer ? parseInt(customTimer) : null)}
style={{ flex: 1, border: `2px solid ${color}`, borderRadius: 12, padding: '18px 12px', cursor: 'pointer', background: bg, transition: 'transform 0.1s' }}
onMouseEnter={e => e.currentTarget.style.transform = 'scale(1.03)'}
onMouseLeave={e => e.currentTarget.style.transform = 'none'}
@@ -121,9 +122,19 @@ function ModeSelectScreen({ quiz, voices, onStart, onResume }) {
))}
+
+
setCustomTimer(e.target.value)}
+ placeholder="No time limit"
+ onClick={e => e.stopPropagation()}
+ style={{ padding: '6px 10px', borderRadius: 8, border: '1px solid var(--border)', fontSize: '0.9rem', width: '100%', background: 'var(--input-bg)', color: 'var(--text)' }} />
+
Auto-submits when timer expires. Timer pauses if you leave and resumes when you come back.
+
-
+
+